- Passing a NULL pointer to the strdup function results in undefined behavior.
Change-Id: I28b5e9262e489de09cc6bb7a958da0f7170836f4
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;
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);