multibuttonentry, genlist, layout, toolbar: Fixed dereference of null
authorDaniel Juyung Seo <juyung.seo@samsung.com>
Mon, 6 Jan 2014 14:26:46 +0000 (23:26 +0900)
committerDaniel Juyung Seo <juyung.seo@samsung.com>
Mon, 6 Jan 2014 14:26:46 +0000 (23:26 +0900)
pointers which were reported by clang builg.

https://build.enlightenment.org/job/nightly_elm_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-05-1/report-XZo1hW.html#EndPath
https://build.enlightenment.org/job/nightly_elm_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-05-1/report-isAlRt.html#EndPath
https://build.enlightenment.org/job/nightly_elm_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-05-1/report-8Ascv8.html#EndPath
https://build.enlightenment.org/job/nightly_elm_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-05-1/report-gBkVuE.html#EndPath

src/lib/elc_multibuttonentry.c
src/lib/elm_genlist.c
src/lib/elm_layout.c
src/lib/elm_toolbar.c

index 52903ca97801255ba317cfd0814485e4a1846ebe..ac9ce37eeabc2031004c8826131816f1ad1c9c4e 100644 (file)
@@ -1606,7 +1606,7 @@ _elm_multibuttonentry_smart_focus_next(Eo *obj, void *_pd, va_list *list)
         items = eina_list_append(items, sd->box);
      }
 
-   if (int_ret)
+   if (int_ret && ret)
      *ret = elm_widget_focus_list_next_get
               (obj, items, eina_list_data_get, dir, next);
 }
index 304318d2d84dfc7cf3e32d021237ca8f0c301884..c206eaa400c315c4e9fd3069eea1c5ec0049d133 100644 (file)
@@ -5947,7 +5947,7 @@ _realized_items_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
              done = EINA_TRUE;
              EINA_LIST_FOREACH(itb->items, l, it)
                {
-                  if (it->realized) *ret = eina_list_append(*ret, it);
+                  if (it->realized && ret) *ret = eina_list_append(*ret, it);
                }
           }
         else
index 56b78b967146de778b526b6a3a22225b4ff11b1b..c4d2846069a17b24091e0c82db1ac16d539b6f15 100644 (file)
@@ -1192,7 +1192,7 @@ _elm_layout_smart_content_swallow_list_get(Eo *obj EINA_UNUSED, void *_pd, va_li
 
    EINA_LIST_FOREACH(sd->subs, l, sub_d)
      {
-        if (sub_d->type == SWALLOW)
+        if ((sub_d->type == SWALLOW) && ret)
           *ret = eina_list_append(*ret, sub_d->obj);
      }
 }
index 545e09d3264638d4be606a0baf81954252309581..8bbbbada48c7821f9280ab89323b2bc6f32400dc 100644 (file)
@@ -2951,7 +2951,7 @@ _item_insert_after(Eo *obj, void *_pd, va_list *list)
    _sizing_eval(obj);
    sd->item_count++;
 
-   *ret = (Elm_Object_Item *)it;
+   if (ret) *ret = (Elm_Object_Item *)it;
 }
 
 EAPI Elm_Object_Item *