elementary/photocam - [E-devel] [Patch] elm_photocam patch
authorhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 30 Nov 2011 00:12:10 +0000 (00:12 +0000)
committerhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 30 Nov 2011 00:12:10 +0000 (00:12 +0000)
a. Handled memory allocation failure in function grid_create inside source file src/lib/elm_photocam.c of package elementary.
b. Fixed Memory leak in functiongrid_create due to return without releasing memory allocated for variable g of type Grid *.

Signed-Off-By: RAJEEV RANJAN <rajeev.r@samsung.com>
Signed-Off-By: PRINCE KUMAR DUBEY <prince.dubey@samsung.com>
Signed-Off-By: ChunEon Park <hermet@hermet.pe.kr>
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@65698 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_photocam.c

index cc09090..a1d04a0 100644 (file)
@@ -289,6 +289,7 @@ grid_create(Evas_Object *obj)
 
    if (!wd) return NULL;
    g = calloc(1, sizeof(Grid));
+   if (!g) return NULL;
 
    g->zoom = grid_zoom_calc(wd->zoom);
    g->tsize = wd->tsize;
@@ -297,7 +298,11 @@ grid_create(Evas_Object *obj)
 
    g->w = g->iw / g->zoom;
    g->h = g->ih / g->zoom;
-   if (g->zoom >= 8) return NULL;
+   if (g->zoom >= 8)
+     {
+        free(g);
+        return NULL;
+     }
    g->gw = (g->w + g->tsize - 1) / g->tsize;
    g->gh = (g->h + g->tsize - 1) / g->tsize;
    g->grid = calloc(1, sizeof(Grid_Item) * g->gw * g->gh);