From 7f145112e968ca1fc108baebeb474adf2294e5df Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Mon, 7 Aug 2017 13:09:07 +0900 Subject: [PATCH] Fix issue detected by static analysis tool Pointer 'id' returned from function 'calloc' at input_method_setting_list_ui.cpp:742 may be null, and it is dereferenced at input_method_setting_list_ui.cpp:743. Change-Id: I38a4c345e2fa6c979affb418fdfb143da2e0cd4d Signed-off-by: Jihoon Kim --- .../input_method_setting_list_ui.cpp | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/im_setting_list/input_method_setting_list_ui.cpp b/im_setting_list/input_method_setting_list_ui.cpp index 02825b1..f9e5d68 100644 --- a/im_setting_list/input_method_setting_list_ui.cpp +++ b/im_setting_list/input_method_setting_list_ui.cpp @@ -740,21 +740,23 @@ static void im_setting_list_add_ime(void *data) { g_gen_item_data.push_back(item_data); id = (Item_Data *)calloc(sizeof(Item_Data), 1); - id->index = i; - - id->item = elm_genlist_item_append(ad->genlist, - itc_im_list_keyboard_list, - id, - NULL, - ELM_GENLIST_ITEM_NONE, - im_setting_list_item_sel_cb, - (void *)(i)); + if (id) { + id->index = i; + + id->item = elm_genlist_item_append(ad->genlist, + itc_im_list_keyboard_list, + id, + NULL, + ELM_GENLIST_ITEM_NONE, + im_setting_list_item_sel_cb, + (void *)(i)); + + if (g_ime_info_list[i].is_preinstalled || (i == g_active_ime_index)) { + elm_object_item_disabled_set(id->item, EINA_TRUE); + } - if (g_ime_info_list[i].is_preinstalled || (i == g_active_ime_index)) { - elm_object_item_disabled_set(id->item, EINA_TRUE); + g_gen_item_data[i].gen_item = id->item; } - - g_gen_item_data[i].gen_item = id->item; } #endif -- 2.34.1