From dde5848ab1bf7b60e7b9e9e31c1911f380a3c969 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Fri, 23 Nov 2012 23:15:48 +0000 Subject: [PATCH] edje: Fix segfault when deleted part stays in the hash table SVN revision: 79616 --- legacy/edje/src/bin/edje_cc_out.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/legacy/edje/src/bin/edje_cc_out.c b/legacy/edje/src/bin/edje_cc_out.c index 1b5a1374aa..38438eac7d 100644 --- a/legacy/edje/src/bin/edje_cc_out.c +++ b/legacy/edje/src/bin/edje_cc_out.c @@ -1786,9 +1786,9 @@ data_queue_part_lookup(Edje_Part_Collection *pc, const char *name, int *dest) pl = eina_hash_find(part_pc_dest_lookup, &key); if (pl) { - free(pl->name); if (name[0]) { + free(pl->name); pl->name = mem_strdup(name); } else @@ -1796,7 +1796,7 @@ data_queue_part_lookup(Edje_Part_Collection *pc, const char *name, int *dest) list = eina_hash_find(part_dest_lookup, &pl->dest); list = eina_list_remove(list, pl); eina_hash_set(part_dest_lookup, &pl->dest, list); - free(pl); + eina_hash_del(part_pc_dest_lookup, &key, pl); } return ; }