cvs: gd /libgd gd_gd.c gd_gd2.c gd_jpeg.c gd_png.c gd_wbmp.c

[email protected] ("Mattias Bengtsson") Tue, 07 Aug 2007 19:44:41 -0000
Newsgroups php.gd.cvs
Message-ID <cvsmattias1186515881@cvsserver>
mattias		Tue Aug  7 19:44:41 2007 UTC

  Modified files:              
    /gd/libgd	gd_gd.c gd_gd2.c gd_jpeg.c gd_png.c gd_wbmp.c 
  Log:
  - #105, gdImageCreateFrom*Ptr() can crash if gdNewDynamicCtxEx() fails
  
http://cvs.php.net/viewvc.cgi/gd/libgd/gd_gd.c?r1=1.12&r2=1.13&diff_format=u
Index: gd/libgd/gd_gd.c
diff -u gd/libgd/gd_gd.c:1.12 gd/libgd/gd_gd.c:1.13
--- gd/libgd/gd_gd.c:1.12	Mon Aug  6 18:32:26 2007
+++ gd/libgd/gd_gd.c	Tue Aug  7 19:44:40 2007
@@ -182,6 +182,8 @@
 {
   gdImagePtr im;
   gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0);
+  if(!in)
+  	return 0;
   im = gdImageCreateFromGdCtx (in);
   in->gd_free (in);
   return im;
http://cvs.php.net/viewvc.cgi/gd/libgd/gd_gd2.c?r1=1.21&r2=1.22&diff_format=u
Index: gd/libgd/gd_gd2.c
diff -u gd/libgd/gd_gd2.c:1.21 gd/libgd/gd_gd2.c:1.22
--- gd/libgd/gd_gd2.c:1.21	Thu Jan  4 12:40:48 2007
+++ gd/libgd/gd_gd2.c	Tue Aug  7 19:44:40 2007
@@ -293,6 +293,8 @@
 {
   gdImagePtr im;
   gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0);
+  if(!in)
+  	return 0;
   im = gdImageCreateFromGd2Ctx (in);
   in->gd_free (in);
   return im;
@@ -503,6 +505,8 @@
 {
   gdImagePtr im;
   gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0);
+  if(!in)
+  	return 0;
   im = gdImageCreateFromGd2PartCtx (in, srcx, srcy, w, h);
   in->gd_free (in);
   return im;
http://cvs.php.net/viewvc.cgi/gd/libgd/gd_jpeg.c?r1=1.19&r2=1.20&diff_format=u
Index: gd/libgd/gd_jpeg.c
diff -u gd/libgd/gd_jpeg.c:1.19 gd/libgd/gd_jpeg.c:1.20
--- gd/libgd/gd_jpeg.c:1.19	Wed Apr  5 20:46:15 2006
+++ gd/libgd/gd_jpeg.c	Tue Aug  7 19:44:40 2007
@@ -275,6 +275,8 @@
 {
   gdImagePtr im;
   gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0);
+  if(!in)
+  	return 0;
   im = gdImageCreateFromJpegCtx (in);
   in->gd_free (in);
   return im;
http://cvs.php.net/viewvc.cgi/gd/libgd/gd_png.c?r1=1.23&r2=1.24&diff_format=u
Index: gd/libgd/gd_png.c
diff -u gd/libgd/gd_png.c:1.23 gd/libgd/gd_png.c:1.24
--- gd/libgd/gd_png.c:1.23	Thu May 17 14:49:45 2007
+++ gd/libgd/gd_png.c	Tue Aug  7 19:44:40 2007
@@ -1,4 +1,4 @@
-/* $Id: gd_png.c,v 1.23 2007/05/17 14:49:45 pajoye Exp $ */
+/* $Id: gd_png.c,v 1.24 2007/08/07 19:44:40 mattias Exp $ */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -112,6 +112,8 @@
 {
   gdImagePtr im;
   gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0);
+  if(!in)
+  	return 0;
   im = gdImageCreateFromPngCtx (in);
   in->gd_free (in);
   return im;
http://cvs.php.net/viewvc.cgi/gd/libgd/gd_wbmp.c?r1=1.10&r2=1.11&diff_format=u
Index: gd/libgd/gd_wbmp.c
diff -u gd/libgd/gd_wbmp.c:1.10 gd/libgd/gd_wbmp.c:1.11
--- gd/libgd/gd_wbmp.c:1.10	Wed Apr  5 15:54:20 2006
+++ gd/libgd/gd_wbmp.c	Tue Aug  7 19:44:40 2007
@@ -198,6 +198,8 @@
 {
   gdImagePtr im;
   gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0);
+  if(!in)
+  	return 0;
   im = gdImageCreateFromWBMPCtx (in);
   in->gd_free (in);
   return im;