bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=18e9a224beed7407b46c82f6d0bf282aa4376bf0

commit 18e9a224beed7407b46c82f6d0bf282aa4376bf0
Author: Marcel Hollerbach <m...@marcel-hollerbach.de>
Date:   Sat Sep 21 11:08:46 2019 +0200

    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 <michael.blumenkra...@gmail.com>
    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));
 }

-- 


Reply via email to