From: TaeHyeon Jeong Date: Wed, 19 Mar 2025 05:58:46 +0000 (+0900) Subject: e_input_backend: Fix deref of null pointer X-Git-Tag: accepted/tizen/unified/20250320.120248~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c53956fc4b264d40fa17fa87069f93feee786a2a;p=platform%2Fupstream%2Fenlightenment.git e_input_backend: Fix deref of null pointer - Passing a NULL pointer to the strdup function results in undefined behavior. Change-Id: I28b5e9262e489de09cc6bb7a958da0f7170836f4 --- diff --git a/src/bin/inputmgr/e_input_backend.c b/src/bin/inputmgr/e_input_backend.c index 22fc84fdeb..d89d4600b9 100644 --- a/src/bin/inputmgr/e_input_backend.c +++ b/src/bin/inputmgr/e_input_backend.c @@ -379,6 +379,8 @@ _e_input_add_ecore_device(E_Input_Evdev *evdev, Ecore_Device_Class clas, Ecore_D const GList *device_list = e_device_list_get(); const gchar *device_identifier; + const char *seat_name = NULL; + for (GList *list = g_list_first((GList *)device_list); list; list = list->next) { E_Device *device = (E_Device *)list->data; @@ -452,7 +454,8 @@ _e_input_add_ecore_device(E_Input_Evdev *evdev, Ecore_Device_Class clas, Ecore_D dev_info->evdev = evdev; dev_info->clas = clas; dev_info->subclas = subclas; - dev_info->seatname = strdup(e_device_seatname_get(e_dev)); + seat_name = e_device_seatname_get(e_dev); + dev_info->seatname = seat_name ? strdup(seat_name) : NULL; ecore_main_loop_thread_safe_call_async(_e_input_add_ecore_device_async_cb, dev_info);