From c0cd79371fd3d540ef468c2959b7851963e4707a Mon Sep 17 00:00:00 2001 From: Sung-Jin Park Date: Fri, 14 Feb 2020 13:09:39 +0900 Subject: [PATCH] e_keyrouter: fix a memory leak in _e_keyrouter_long_timer() Change-Id: I5e0c6998bb5a62b4e57a6a7a77370a5b91c4e90f Signed-off-by: Sung-Jin Park --- src/bin/e_keyrouter_events.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/e_keyrouter_events.c b/src/bin/e_keyrouter_events.c index 28afc57eda..d055e4f2d5 100644 --- a/src/bin/e_keyrouter_events.c +++ b/src/bin/e_keyrouter_events.c @@ -188,6 +188,7 @@ failed: static Eina_Bool _e_keyrouter_long_timer(void *data) { + char *keyname; E_Keyrouter_Event_Key_Long *ev; ev = E_NEW(E_Keyrouter_Event_Key_Long, 1); @@ -204,8 +205,13 @@ _e_keyrouter_long_timer(void *data) _e_keyrouter_key_cancel(krt->longkey.key); ecore_event_add(E_KEYROUTER_EVENT_KEY_LONG, ev, NULL, NULL); - KLINF("LONGKEY : %s(%d) long press event is generated.\n", - e_keyrouter_util_keyname_get_from_keycode(krt->longkey.key), krt->longkey.key); + keyname = e_keyrouter_util_keyname_get_from_keycode(krt->longkey.key); + if (keyname) + { + KLINF("LONGKEY : %s(%d) long press event is generated.\n", keyname, krt->longkey.key); + free(keyname); + keyname = NULL; + } krt->longkey.timer = NULL; -- 2.34.1