summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeeyong Um <conr2d@gmail.com>2017-11-07 00:34:32 +0900
committerJeeyong Um <conr2d@gmail.com>2017-11-07 00:50:38 +0900
commit7811b0e5b73fc3bd31071e1fad1c031d9b2ef138 (patch)
treeea8a43b209dc1e98b3a5dd80da6cc835e7a54477
parent12947e01e89efc2a1e5fb4e044e798955f59af13 (diff)
downloadefl-7811b0e5b73fc3bd31071e1fad1c031d9b2ef138.tar.gz
edje_pick: Fix segfault due to wrong memory free
-rw-r--r--src/bin/edje/edje_pick.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c
index e6971b4c35..bc92297675 100644
--- a/src/bin/edje/edje_pick.c
+++ b/src/bin/edje/edje_pick.c
@@ -256,18 +256,18 @@ _edje_pick_cleanup(Eina_List *ifs, Edje_File *out_file, Edje_Pick_Status s)
if (p->edf)
_edje_cache_file_unref(p->edf);
- free(p);
- }
+ EINA_LIST_FREE(p->fontlist, ft)
+ {
+ Edje_Font *st = ft->f;
- EINA_LIST_FREE(p->fontlist, ft)
- {
- Edje_Font *st = ft->f;
+ eina_stringshare_del(st->name);
+ eina_stringshare_del(st->file);
+ free(ft->data);
+ free(st);
+ free(ft);
+ }
- eina_stringshare_del(st->name);
- eina_stringshare_del(st->file);
- free(ft->data);
- free(st);
- free(ft);
+ free(p);
}
switch (s)