[efl-ext] Fix for [DEREF_OF_NULL.RET.PROC.STAT]
authorPrince Kumar Dubey <prince.dubey@samsung.com>
Tue, 21 Apr 2020 18:38:38 +0000 (00:08 +0530)
committerJongmin Lee <jm105.lee@samsung.com>
Tue, 5 May 2020 23:48:43 +0000 (08:48 +0900)
Change-Id: Ibdaeac934f4cd4631fa9d1ef518a2157c79a3d86
Signed-off-by: Prince Kumar Dubey <prince.dubey@samsung.com>
src/wearable/efl_extension_rotary_selector.c

index 159697adbf9e826e96aef88df991e9c693cec576..93c89bc775e84a7bb2abf2833358a315dcbe448f 100644 (file)
@@ -5276,20 +5276,22 @@ _accessibility_item_name_set_cb(void *data, Evas_Object *obj)
    Eext_Rotary_Selector_Data *rsd = _eext_rotary_selector_data_get(item->rotary_selector);
 
    char buf[255] = "";
-   if (rsd && item->text1)
+   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)
      {
-        strncat(buf, elm_object_part_text_get(elm_object_part_content_get(rsd->rotary_selector, "content"), "selector,main_text"), sizeof(buf) - strlen(buf) - 1);
+        strncat(buf, ret, sizeof(buf) - strlen(buf) - 1);
      }
    if (rsd && item->text2)
      {
         strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
-        strncat(buf, elm_object_part_text_get(elm_object_part_content_get(rsd->rotary_selector, "content"), "selector,sub_text"), 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)
+   if (rsd && rsd->add_item && item->index == rsd->add_item->index && ret)
      {
         strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
-        strncat(buf, elm_object_part_text_get(elm_object_part_content_get(rsd->rotary_selector, "content"), "selector,main_text"), sizeof(buf) - strlen(buf) - 1);
+        strncat(buf, ret, sizeof(buf) - strlen(buf) - 1);
      }
    //
    if (rsd && rsd->edit_mode_enabled && rsd->editing)