genlist: check item validation in GENLIST_ITEM_CHECK 03/184803/1
authorSangHyeon Jade Lee <sh10233.lee@samsung.com>
Mon, 23 Jul 2018 08:02:09 +0000 (17:02 +0900)
committerSangHyeon Jade Lee <sh10233.lee@samsung.com>
Mon, 23 Jul 2018 08:02:33 +0000 (17:02 +0900)
Change-Id: Ifdb6264ef10514476e1124bca4eafded07a00781
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
src/lib/elm_widget_genlist.h
src/mobile_lib/elm_widget_genlist.h

index f2f3d6f..82bf8b0 100644 (file)
@@ -356,14 +356,17 @@ struct _Elm_Genlist_Filter
     return
 
 #define ELM_GENLIST_ITEM_CHECK(it)                          \
+  if (!it) return; \
   ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, ); \
   ELM_GENLIST_CHECK(it->base->widget);
 
 #define ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, ...)                      \
+  if (!it) return __VA_ARGS__; \
   ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, __VA_ARGS__); \
   ELM_GENLIST_CHECK(it->base->widget) __VA_ARGS__;
 
 #define ELM_GENLIST_ITEM_CHECK_OR_GOTO(it, label)              \
+  if (!it) goto label; \
   ELM_WIDGET_ITEM_CHECK_OR_GOTO(it->base, label); \
   if (!it->base->widget || !eo_isa                              \
         ((it->base->widget), ELM_GENLIST_CLASS)) goto label;
index e10d3b0..c72a05a 100644 (file)
@@ -393,14 +393,17 @@ struct _Elm_Genlist_Filter
     return
 
 #define ELM_GENLIST_ITEM_CHECK(it)                          \
+  if (!it) return; \
   ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, ); \
   ELM_GENLIST_CHECK(it->base->widget);
 
 #define ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, ...)                      \
+  if (!it) return __VA_ARGS__; \
   ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, __VA_ARGS__); \
   ELM_GENLIST_CHECK(it->base->widget) __VA_ARGS__;
 
 #define ELM_GENLIST_ITEM_CHECK_OR_GOTO(it, label)              \
+  if (!it) goto label; \
   ELM_WIDGET_ITEM_CHECK_OR_GOTO(it->base, label); \
   if (!it->base->widget || !eo_isa                              \
         ((it->base->widget), ELM_GENLIST_CLASS)) goto label;