rotary_selector: fix null after dereferenced 84/232484/1
authorJongmin Lee <jm105.lee@samsung.com>
Wed, 6 May 2020 00:56:22 +0000 (09:56 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Wed, 6 May 2020 00:56:22 +0000 (09:56 +0900)
Change-Id: Ifd7ade61c378c78f51a25460ef932c8bc46da46e

src/wearable/efl_extension_rotary_selector.c

index 93c89bc775e84a7bb2abf2833358a315dcbe448f..15170fc1f37f85ce2450fa4444217ec0b205aaee 100644 (file)
@@ -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)