From 7e45660338a79aca17acd6e222748dee41652666 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Mon, 10 Dec 2012 08:18:25 +0000 Subject: [PATCH] elementary: safely manipulate inlist and destroy part of it. SVN revision: 80579 --- legacy/elementary/ChangeLog | 1 + legacy/elementary/NEWS | 1 + legacy/elementary/src/lib/elm_transit.c | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 81171230df..5a8b2827ba 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -801,3 +801,4 @@ * Make sure private data is not NULL in elm_interface_scrollable. * Correctly handle failure case in _x11_notify_handler_image. + * Fix missuse of EINA_INLIST_FOREACH in elm_transit.c. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index 08b3dd2c70..69b0f169a9 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -88,6 +88,7 @@ Fixes: * Fix focus problem in multibuttonentry. Entry can get focus only when multibuttonentry is focused. * Make sure private data is not NULL in elm_interface_scrollable. * Correctly handle failure case in _x11_notify_handler_image. + * Don't manipulate dead memory in Eina_Inlist in elm_transit.c. Removals: diff --git a/legacy/elementary/src/lib/elm_transit.c b/legacy/elementary/src/lib/elm_transit.c index 5b8025cc5a..a7d99e58c9 100644 --- a/legacy/elementary/src/lib/elm_transit.c +++ b/legacy/elementary/src/lib/elm_transit.c @@ -222,8 +222,9 @@ static void _transit_remove_dead_effects(Elm_Transit *transit) { Elm_Transit_Effect_Module *effect_module; + Eina_Inlist *ll; - EINA_INLIST_FOREACH(transit->effect_list, effect_module) + EINA_INLIST_FOREACH_SAFE(transit->effect_list, ll, effect_module) { if (effect_module->deleted) {