From 18e9a224beed7407b46c82f6d0bf282aa4376bf0 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Sat, 21 Sep 2019 11:08:46 +0200 Subject: [PATCH] efl_ui_collection: protect against invalid access i am not sure why this should ever happen. However, a error here is better than a access out of the bounds of the array. Reviewed-by: Mike Blumenkrantz Differential Revision: https://phab.enlightenment.org/D10066 --- src/lib/elementary/efl_ui_collection.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_collection.c b/src/lib/elementary/efl_ui_collection.c index 718f5b120e..82e21d3dc1 100644 --- a/src/lib/elementary/efl_ui_collection.c +++ b/src/lib/elementary/efl_ui_collection.c @@ -1152,8 +1152,9 @@ _efl_ui_collection_efl_ui_single_selectable_fallback_selection_get(const Eo *obj #define ITEM_IS_OUTSIDE_VISIBLE(id) id < collection_pd->start_id || id > collection_pd->end_id static inline void -_assert_item_available(Eo *item, int new_id, Efl_Ui_Collection_Data *pd) +_assert_item_available(Eo *item, unsigned int new_id, Efl_Ui_Collection_Data *pd) { + EINA_SAFETY_ON_FALSE_RETURN(new_id < eina_list_count(pd->items)); efl_gfx_entity_visible_set(item, EINA_TRUE); efl_gfx_entity_geometry_set(item, efl_ui_position_manager_entity_position_single_item(pd->pos_man, new_id)); }