pajoye Wed Jul 26 08:53:30 2006 UTC
Added files: (Branch: PHP_5_2)
/php-src/ext/gd/tests bug38212.phpt
Modified files:
/php-src/ext/gd/libgd gd_gd2.c
Log:
- MFH #38212, Segfault on invalid imagecreatefromgd2part() parameters
http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd_gd2.c?r1=1.16.4.1&r2=1.16.4.1.2.1&diff_format=u
Index: php-src/ext/gd/libgd/gd_gd2.c
diff -u php-src/ext/gd/libgd/gd_gd2.c:1.16.4.1
php-src/ext/gd/libgd/gd_gd2.c:1.16.4.1.2.1
--- php-src/ext/gd/libgd/gd_gd2.c:1.16.4.1 Thu Aug 18 12:54:43 2005
+++ php-src/ext/gd/libgd/gd_gd2.c Wed Jul 26 08:53:30 2006
@@ -430,6 +430,10 @@
gdImagePtr im;
+ if (w<1 || h <1) {
+ return 0;
+ }
+
/* The next few lines are basically copied from gd2CreateFromFile
* we change the file size, so don't want to use the code directly.
* but we do need to know the file size.
http://cvs.php.net/viewvc.cgi/php-src/ext/gd/tests/bug38212.phpt?view=markup&rev=1.1
Index: php-src/ext/gd/tests/bug38212.phpt
+++ php-src/ext/gd/tests/bug38212.phpt
--TEST--
imagecopy doen't copy alpha, palette to truecolor
--SKIPIF--
<?php
if (!function_exists('imagecopy')) die("skip gd extension not
available\n");
?>
--FILE--
<?php
$file = dirname(__FILE__) . '/bug38212.gd2';
$im1 = imagecreatetruecolor(10,100);
imagefill($im1, 0,0, 0xffffff);
imagegd2($im1, $file);
$im = imagecreatefromgd2part($file, 0,0, -25,10);
unlink($file);
?>
--EXPECTF--
Warning: imagecreatefromgd2part(): '%sbug38212.gd2' is not a valid GD2 file in
%sbug38212.php on line %d
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php