From 36b939e7b0d8909902e3eb553fa21f7a7b795e65 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Mon, 27 Aug 2012 08:23:20 +0000 Subject: [PATCH] elementary/index - [E-devel] [PATCH] elm_index : set it->letter to NULL after eina_stringshare_del Hello all, In elm_index.c, _item_del_pre_hook calls _item_free, where it->letter is not set to NULL after eina_stringshare_del. This will cause invalid access later on. The attached patch fixes the problem, which is reproducible in my code before the fix. Please check if this makes sense. I am sorry that I was unable come up with a simple test app to demonstrate the problem. Thanks in advance. Brian Signed-Off-By:Brian Wang SVN revision: 75723 --- src/lib/elm_index.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c index eac0cab..1bfd5a5 100644 --- a/src/lib/elm_index.c +++ b/src/lib/elm_index.c @@ -29,7 +29,10 @@ _item_free(Elm_Index_Item *it) ELM_INDEX_DATA_GET(WIDGET(it), sd); sd->items = eina_list_remove(sd->items, it); - if (it->letter) eina_stringshare_del(it->letter); + if (it->letter) { + eina_stringshare_del(it->letter); + it->letter = NULL; + } } static void -- 2.7.4