elc_fileselector: Backport d713271bec8a24efdcfaa94191101e3c16108f0f
authorStefan Schmidt <s.schmidt@samsung.com>
Thu, 13 Jun 2013 10:09:12 +0000 (11:09 +0100)
committerSungho Kwak <sungho1.kwak@samsung.com>
Fri, 28 Jun 2013 10:51:59 +0000 (19:51 +0900)
Cherry-pick failed so going with a manual backport.

elc_fileselector: Fix memory leak in _selected_set.

Using ecore_file_dir_get() like this will leak the returned string as we
have no way to control its free'ing. Better use a separate variable for it.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
src/lib/elc_fileselector.c

index bbbec7e..c7f82d0 100644 (file)
@@ -1156,6 +1156,7 @@ elm_fileselector_selected_set(Evas_Object *obj,
 {
    Eina_Bool ret = EINA_TRUE;
    char *path;
+   char *selected;
 
    ELM_FILESELECTOR_CHECK(obj) EINA_FALSE;
    ELM_FILESELECTOR_DATA_GET(obj, sd);
@@ -1171,7 +1172,10 @@ elm_fileselector_selected_set(Evas_Object *obj,
              goto clean_up;
           }
 
-        _populate(obj, ecore_file_dir_get(path), NULL);
+        selected = ecore_file_dir_get(path);
+        _populate(obj, selected, NULL);
+        free(selected);
+
         if (sd->filename_entry)
           {
              char *s;