Fixing bad realloc usage.
authorglima <glima@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 3 Aug 2010 22:15:02 +0000 (22:15 +0000)
committerglima <glima@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 3 Aug 2010 22:15:02 +0000 (22:15 +0000)
By Fabiano FidĂȘncio.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/edje@50790 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_edit.c

index 2e32e60..875bc44 100644 (file)
@@ -2716,6 +2716,12 @@ edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double
 
        tmp = realloc(rp->part->other_desc,
                      sizeof (Edje_Part_Description_Common *) * (rp->part->other_count + 1));
+       if (!tmp)
+         {
+            free(pd);
+            return;
+         }
+       rp->part->other_desc = tmp;
        rp->part->other_desc[rp->part->other_count++] = pd;
      }
 
@@ -2901,6 +2907,12 @@ edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, doubl
 
        tmp = realloc(rp->part->other_desc,
                      sizeof (Edje_Part_Description_Common *) * (rp->part->other_count + 1));
+       if (!tmp)
+         {
+            free(pdto);
+            return EINA_FALSE;
+         }
+       rp->part->other_desc = tmp;
        rp->part->other_desc[rp->part->other_count++] = pdto;
 
        pdto->state.name = eina_stringshare_add(to);