From 332cc12ca6a43c5d34c61fbc9ea4e3767bb8992f Mon Sep 17 00:00:00 2001 From: SangHyeon Jade Lee Date: Mon, 23 Jul 2018 17:02:09 +0900 Subject: [PATCH] genlist: check item validation in GENLIST_ITEM_CHECK Change-Id: Ifdb6264ef10514476e1124bca4eafded07a00781 Signed-off-by: SangHyeon Jade Lee --- src/lib/elm_widget_genlist.h | 3 +++ src/mobile_lib/elm_widget_genlist.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/lib/elm_widget_genlist.h b/src/lib/elm_widget_genlist.h index f2f3d6f..82bf8b0 100644 --- a/src/lib/elm_widget_genlist.h +++ b/src/lib/elm_widget_genlist.h @@ -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; diff --git a/src/mobile_lib/elm_widget_genlist.h b/src/mobile_lib/elm_widget_genlist.h index e10d3b0..c72a05a 100644 --- a/src/mobile_lib/elm_widget_genlist.h +++ b/src/mobile_lib/elm_widget_genlist.h @@ -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; -- 2.7.4