hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bff48f92a3de2f92b81f7cc45f1c32f57e34dca6

commit bff48f92a3de2f92b81f7cc45f1c32f57e34dca6
Author: ChunEon Park <[email protected]>
Date:   Tue Nov 26 20:32:42 2013 +0900

    evas - fix the memory corruption introduced by evas fonts_zero
---
 ChangeLog                           | 4 ++++
 NEWS                                | 1 +
 src/lib/evas/canvas/evas_font_dir.c | 4 ++--
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2af6608..95ee2ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-11-26  ChunEon Park (Hermet)
+
+        * Evas: Fix the memory corruption introduced by evas fonts_zero.
+
 2013-11-26  Daniel Juyung Seo (SeoZ)
 
         * ecore anim: Fixed animator not working problem when source_set is
diff --git a/NEWS b/NEWS
index 56b44c3..e5a8bbe 100644
--- a/NEWS
+++ b/NEWS
@@ -365,6 +365,7 @@ Fixes:
      - Evas textblock: Fixed order of tags inserted with markup_app/prepend.
      - Fix proxy render to update the proxies recursively. If a proxy has 
proxies, all the chainged proxies should be updated recursively.
      - Evas textblock: Fixed wrapping of lines ending with whites.
+     - Evas: Fix the memory corruption introduced by evas fonts_zero.
 
     * Ecore:
      - Don't leak fd on exec.
diff --git a/src/lib/evas/canvas/evas_font_dir.c 
b/src/lib/evas/canvas/evas_font_dir.c
index 383082e..cbe9605 100644
--- a/src/lib/evas/canvas/evas_font_dir.c
+++ b/src/lib/evas/canvas/evas_font_dir.c
@@ -491,7 +491,7 @@ evas_font_load(Evas *eo_evas, Evas_Font_Description *fdesc, 
const char *source,
 #endif
 
    Evas_Font_Set *font = NULL;
-   Eina_List *fonts, *l;
+   Eina_List *fonts, *l, *l_next;
    Fndat *fd;
 #ifdef HAVE_FONTCONFIG
    Fndat *found_fd = NULL;
@@ -541,7 +541,7 @@ evas_font_load(Evas *eo_evas, Evas_Font_Description *fdesc, 
const char *source,
      }
 #endif
 
-   EINA_LIST_FOREACH(fonts_zero, l, fd)
+   EINA_LIST_FOREACH_SAFE(fonts_zero, l, l_next, fd)
      {
         if (!evas_font_desc_cmp(fdesc, fd->fdesc))
          {

-- 


Reply via email to