edje_pick: Fix segfault due to wrong memory free
authorJeeyong Um <conr2d@gmail.com>
Mon, 6 Nov 2017 15:34:32 +0000 (00:34 +0900)
committerJeeyong Um <conr2d@gmail.com>
Mon, 6 Nov 2017 15:50:38 +0000 (00:50 +0900)
src/bin/edje/edje_pick.c

index e6971b4..bc92297 100644 (file)
@@ -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)