ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=15a1529df07ce629b89bf7d44eeb1246ec5cb918

commit 15a1529df07ce629b89bf7d44eeb1246ec5cb918
Author: Andy Williams <a...@andywilliams.me>
Date:   Tue Oct 3 14:40:10 2017 +0100

    scm: fix avatar caching memory handling
---
 src/bin/edi_scm_ui.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/bin/edi_scm_ui.c b/src/bin/edi_scm_ui.c
index e522ec2..7b8bac2 100644
--- a/src/bin/edi_scm_ui.c
+++ b/src/bin/edi_scm_ui.c
@@ -50,7 +50,8 @@ void _edi_scm_ui_screens_avatar_download_complete(void *data, 
const char *file,
 static void
 _edi_scm_ui_screens_avatar_load(Evas_Object *image, const char *email)
 {
-   const char *tmp, *cache, *cachedir, *cacheparentdir;
+   char *tmp, *tmp2;
+   const char *cache, *cachedir, *cacheparentdir;
 
    cache = _edi_scm_ui_avatar_cache_path_get(email);
    if (ecore_file_exists(cache))
@@ -59,9 +60,10 @@ _edi_scm_ui_screens_avatar_load(Evas_Object *image, const 
char *email)
         return;
      }
 
-   tmp = dirname((char *) cache);
-   cachedir = strdup(tmp);
-   cacheparentdir = dirname((char *) tmp);
+   tmp = strdup(cache);
+   cachedir = dirname(tmp);
+   tmp2 = strdup(tmp);
+   cacheparentdir = dirname(tmp2);
    if (!ecore_file_exists(cacheparentdir) && !ecore_file_mkdir(cacheparentdir))
      goto clear;
 
@@ -73,7 +75,8 @@ _edi_scm_ui_screens_avatar_load(Evas_Object *image, const 
char *email)
                        image, NULL);
 
 clear:
-   free((char *)cachedir);
+   free(tmp2);
+   free(tmp);
 }
 
 static void
@@ -233,7 +236,7 @@ _content_get(void *data, Evas_Object *obj, const char 
*source)
    mime = efreet_mime_type_get(status->fullpath);
    if (mime)
      icon_file = efreet_mime_type_icon_get(mime, elm_config_icon_theme_get(), 
32);
- 
+
    if (!icon_file)
      icon_file = "dialog-information";
 
@@ -598,7 +601,7 @@ edi_scm_ui_add(Evas_Object *parent)
         evas_object_size_hint_align_set(avatar, 1.0, EVAS_HINT_FILL);
         evas_object_show(avatar);
         elm_box_pack_end(hbox, avatar);
-   
+
         edi_scm->is_configured = EINA_TRUE;
      }
 
@@ -727,7 +730,7 @@ edi_scm_ui_add(Evas_Object *parent)
    evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
    elm_box_horizontal_set(hbox, EINA_TRUE);
    evas_object_show(hbox);
-   
+
    button = elm_button_add(parent);
    evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL);

-- 


Reply via email to