cvs: gd /libgd/src gd_png.c
[email protected] ("Takeshi Abe") Sat, 14 Mar 2009 04:16:49 -0000
| Newsgroups | php.gd.cvs |
|---|---|
| Message-ID | <cvstabe1237004209@cvsserver> |
tabe Sat Mar 14 04:16:49 2009 UTC
Modified files:
/gd/libgd/src gd_png.c
Log:
fixed a slim chance of memory leaks.
http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_png.c?r1=1.29&r2=1.30&diff_format=u
Index: gd/libgd/src/gd_png.c
diff -u gd/libgd/src/gd_png.c:1.29 gd/libgd/src/gd_png.c:1.30
--- gd/libgd/src/gd_png.c:1.29 Fri Mar 13 20:18:24 2009
+++ gd/libgd/src/gd_png.c Sat Mar 14 04:16:49 2009
@@ -1,4 +1,4 @@
-/* $Id: gd_png.c,v 1.29 2009/03/13 20:18:24 tabe Exp $ */
+/* $Id: gd_png.c,v 1.30 2009/03/14 04:16:49 tabe Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -762,14 +762,13 @@
png_bytep *prow_pointers;
int saveAlphaFlag = im->saveAlphaFlag;
if (overflow2(sizeof (png_bytep), height)) {
- return;
+ goto bail;
}
row_pointers = gdMalloc (sizeof (png_bytep) * height);
if (row_pointers == NULL)
{
fprintf (stderr, "gd-png error: unable to allocate row_pointers\n");
- /* 2.0.29: return was missing */
- return;
+ goto bail;
}
prow_pointers = row_pointers;
for (j = 0; j < height; ++j)
@@ -782,7 +781,7 @@
gdFree (row_pointers[i]);
/* 2.0.29: memory leak TBB */
gdFree(row_pointers);
- return;
+ goto bail;
}
pOutputRow = *prow_pointers++;
pThisRow = *ptpixels++;
@@ -820,15 +819,13 @@
{
png_bytep *row_pointers;
if (overflow2(sizeof (png_bytep), height)) {
- return;
+ goto bail;
}
row_pointers = gdMalloc (sizeof (png_bytep) * height);
if (row_pointers == NULL)
{
- fprintf (stderr,
- "gd-png error: unable to allocate row_pointers\n");
- /* TBB: return missing */
- return;
+ fprintf (stderr, "gd-png error: unable to allocate row_pointers\n");
+ goto bail;
}
for (j = 0; j < height; ++j)
{
@@ -839,7 +836,7 @@
gdFree (row_pointers[i]);
/* TBB: memory leak */
gdFree (row_pointers);
- return;
+ goto bail;
}
for (i = 0; i < width; ++i)
row_pointers[j][i] = mapping[im->pixels[j][i]];