From: Jongmin Lee Date: Wed, 6 May 2020 00:56:22 +0000 (+0900) Subject: rotary_selector: fix null after dereferenced X-Git-Tag: submit/tizen/20200506.062648^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0a740a0089de875b35a4bf0d74ce387b6f2217f5;p=platform%2Fcore%2Fuifw%2Fefl-ext.git rotary_selector: fix null after dereferenced Change-Id: Ifd7ade61c378c78f51a25460ef932c8bc46da46e --- diff --git a/src/wearable/efl_extension_rotary_selector.c b/src/wearable/efl_extension_rotary_selector.c index 93c89bc..15170fc 100644 --- a/src/wearable/efl_extension_rotary_selector.c +++ b/src/wearable/efl_extension_rotary_selector.c @@ -5274,27 +5274,30 @@ _accessibility_item_name_set_cb(void *data, Evas_Object *obj) { Eext_Rotary_Selector_Item *item = (Eext_Rotary_Selector_Item*)data; Eext_Rotary_Selector_Data *rsd = _eext_rotary_selector_data_get(item->rotary_selector); - char buf[255] = ""; - const char *ret = elm_object_part_text_get(elm_object_part_content_get(rsd->rotary_selector, "content"), "selector,main_text"); - if (rsd && item->text1 && ret) + const char *ret = NULL; + + if (!rsd) return strdup(buf); + + ret = elm_object_part_text_get(elm_object_part_content_get(rsd->rotary_selector, "content"), "selector,main_text"); + if (item->text1 && ret) { strncat(buf, ret, sizeof(buf) - strlen(buf) - 1); } - if (rsd && item->text2) + if (item->text2) { strncat(buf, " ", sizeof(buf) - strlen(buf) - 1); char *sub_text = elm_object_part_text_get(elm_object_part_content_get(rsd->rotary_selector, "content"), "selector,sub_text"); if (sub_text) strncat(buf, sub_text, sizeof(buf) - strlen(buf) - 1); } //ONEUI1.5(20180516): speak add_item main title when screen-reader - if (rsd && rsd->add_item && item->index == rsd->add_item->index && ret) + if (rsd->add_item && item->index == rsd->add_item->index && ret) { strncat(buf, " ", sizeof(buf) - strlen(buf) - 1); strncat(buf, ret, sizeof(buf) - strlen(buf) - 1); } // - if (rsd && rsd->edit_mode_enabled && rsd->editing) + if (rsd->edit_mode_enabled && rsd->editing) { if (item->text1) strncpy(buf, item->text1, sizeof(buf) - strlen(buf) - 1); if (item->text2)