raster pushed a commit to branch master.

commit 9a3256ba44015a45d7030f26af972c91a0726880
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Tue Jul 16 20:21:00 2013 +0900

    fix clang sizeof complaint
---
 src/bin/edje/edje_pick.c | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c
index 3f3b157..4635dfe 100644
--- a/src/bin/edje/edje_pick.c
+++ b/src/bin/edje/edje_pick.c
@@ -727,14 +727,22 @@ _edje_pick_images_add(Edje_File *edf, Edje_File *o)
 
         if (edf->image_dir->entries)
           {  /* Copy image dir entries of current file */
+             Edje_Image_Directory_Entry *entries;
+             
              k = o->image_dir->entries_count; /* save current entries count */
              o->image_dir->entries_count += edf->image_dir->entries_count;
 
              /* alloc mem first time  or  re-allocate again (bigger array) */
-             o->image_dir->entries = realloc(o->image_dir->entries,
-                   o->image_dir->entries_count *
-                   sizeof(Edje_Image_Directory_Entry));
-
+             entries = realloc(o->image_dir->entries,
+                               o->image_dir->entries_count *
+                               sizeof(Edje_Image_Directory_Entry));
+             if (!entries)
+               {
+                  EINA_LOG_ERR("Out of memory in realloc()");
+                  return EDJE_PICK_IMAGE_NOT_FOUND;
+               }
+             o->image_dir->entries = entries;
+             
              /* Concatinate current file entries to re-allocaed array */
              memcpy(&o->image_dir->entries[k], edf->image_dir->entries,
                    edf->image_dir->entries_count *
@@ -743,12 +751,20 @@ _edje_pick_images_add(Edje_File *edf, Edje_File *o)
 
         if (edf->image_dir->sets)
           {  /* Copy image dir sets of current file */
+             Edje_Image_Directory_Set *sets;
+             
              k = o->image_dir->sets_count;      /* save current sets count */
              o->image_dir->sets_count += edf->image_dir->sets_count;
              /* alloc mem first time  or  re-allocate again (bigger array) */
-             o->image_dir->sets = realloc(o->image_dir->sets,
-                   o->image_dir->sets_count *
-                   sizeof(Edje_Image_Directory_Set_Entry));
+             sets = realloc(o->image_dir->sets,
+                            o->image_dir->sets_count *
+                            sizeof(Edje_Image_Directory_Set));
+             if (!sets)
+               {
+                  EINA_LOG_ERR("Out of memory in realloc()");
+                  return EDJE_PICK_IMAGE_NOT_FOUND;
+               }
+             o->image_dir->sets = sets;
 
              /* Concatinate current file sets to re-allocaed array */
              memcpy(&o->image_dir->sets[k], edf->image_dir->sets,

-- 

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

Reply via email to