fix some more possible bad callocs
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 1 Mar 2010 15:03:13 +0000 (15:03 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 1 Mar 2010 15:03:13 +0000 (15:03 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@46699 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/engines/gl_common/evas_gl_image.c

index ef5d416..0c97b5b 100644 (file)
@@ -123,7 +123,8 @@ evas_gl_common_image_new_from_copied_data(Evas_GL_Context *gc, int w, int h, DAT
         if (im->tex) evas_gl_common_texture_free(im->tex);
         im->tex = NULL;
        im->cs.no_free = 0;
-        im->cs.data = calloc(1, im->im->cache_entry.h * sizeof(unsigned char *) * 2);
+        if (im->im->cache_entry.h > 0)
+          im->cs.data = calloc(1, im->im->cache_entry.h * sizeof(unsigned char *) * 2);
         if ((data) && (im->cs.data))
          memcpy(im->cs.data, data, im->im->cache_entry.h * sizeof(unsigned char *) * 2);
        break;
@@ -165,7 +166,8 @@ evas_gl_common_image_new(Evas_GL_Context *gc, int w, int h, int alpha, int cspac
 //        if (im->tex) evas_gl_common_texture_free(im->tex);
        im->tex = NULL;
        im->cs.no_free = 0;
-        im->cs.data = calloc(1, im->im->cache_entry.h * sizeof(unsigned char *) * 2);
+        if (im->im->cache_entry.h > 0)
+          im->cs.data = calloc(1, im->im->cache_entry.h * sizeof(unsigned char *) * 2);
        break;
       default:
        abort();