com php-src: Fixed bug #67024 - getimagesize should recognize BMP files with negative height: NEWS ext/standard/image.c
ext/standard/tests/image/getimagesize.phpt ext/standard/tests/i mage/image_type_to_mime_type.phpt ext/standard/test s/image/test-1pix.bmp

From: Date: Sun, 13 Apr 2014 22:17:04 +0000
Subject: com php-src: Fixed bug #67024 - getimagesize should recognize BMP files with negative height: NEWS ext/standard/image.c
ext/standard/tests/image/getimagesize.phpt ext/standard/tests/i mage/image_type_to_mime_type.phpt ext/standard/test s/image/test-1pix.bmp
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-76844@lists.php.net to get a copy of this message
Commit: 1010200da5da81642bec89d9c90d001478e3554d Author: Gabor Buella <gbuella@gmail.com> Sat, 5 Apr 2014 00:17:25 +0200 Committer: Stanislav Malyshev <stas@php.net> Sun, 13 Apr 2014 15:17:04 -0700 Parents: beda5093b490e80f631f14555bba7216c284a2c3 Branches: PHP-5.4 PHP-5.5 PHP-5.6 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=1010200da5da81642bec89d9c90d001478e3554d Log: Fixed bug #67024 - getimagesize should recognize BMP files with negative height Bugs: https://bugs.php.net/67024 Changed paths: M NEWS M ext/standard/image.c M ext/standard/tests/image/getimagesize.phpt M ext/standard/tests/image/image_type_to_mime_type.phpt A ext/standard/tests/image/test-1pix.bmp Diff: diff --git a/NEWS b/NEWS index 2061110..4d5441e 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,8 @@ PHP NEWS UNIX sockets). (Mike) . Fixed bug #66182 (exit in stream filter produces segfault). (Mike) . Fixed bug #66736 (fpassthru broken). (Mike) + . Fixed bug #67024 (getimagesize should recognize BMP files with negative + height). (Gabor Buella) - Embed: . Fixed bug #65715 (php5embed.lib isn't provided anymore). (Anatol) diff --git a/ext/standard/image.c b/ext/standard/image.c index 27f60c9..816de44 100644 --- a/ext/standard/image.c +++ b/ext/standard/image.c @@ -163,6 +163,7 @@ static struct gfxinfo *php_handle_bmp (php_stream * stream TSRMLS_DC) result = (struct gfxinfo *) ecalloc (1, sizeof(struct gfxinfo)); result->width = (((unsigned int)dim[ 7]) << 24) + (((unsigned int)dim[ 6]) << 16) + (((unsigned int)dim[ 5]) << 8) + ((unsigned int) dim[ 4]); result->height = (((unsigned int)dim[11]) << 24) + (((unsigned int)dim[10]) << 16) + (((unsigned int)dim[ 9]) << 8) + ((unsigned int) dim[ 8]); + result->height = abs((int32_t)result->height); result->bits = (((unsigned int)dim[15]) << 8) + ((unsigned int)dim[14]); } else { return NULL; diff --git a/ext/standard/tests/image/getimagesize.phpt b/ext/standard/tests/image/getimagesize.phpt index 6cd8275..04ddd8c 100644 --- a/ext/standard/tests/image/getimagesize.phpt +++ b/ext/standard/tests/image/getimagesize.phpt @@ -23,7 +23,22 @@ GetImageSize() var_dump($result); ?> --EXPECT-- -array(12) { +array(13) { + ["test-1pix.bmp"]=> + array(6) { + [0]=> + int(1) + [1]=> + int(1) + [2]=> + int(6) + [3]=> + string(20) "width="1" height="1"" + ["bits"]=> + int(24) + ["mime"]=> + string(14) "image/x-ms-bmp" + } ["test1bpix.bmp"]=> array(6) { [0]=> diff --git a/ext/standard/tests/image/image_type_to_mime_type.phpt b/ext/standard/tests/image/image_type_to_mime_type.phpt index d83ab8d..9f7ffa1 100644 --- a/ext/standard/tests/image/image_type_to_mime_type.phpt +++ b/ext/standard/tests/image/image_type_to_mime_type.phpt @@ -25,7 +25,9 @@ image_type_to_mime_type() var_dump($result); ?> --EXPECT-- -array(12) { +array(13) { + ["test-1pix.bmp"]=> + string(14) "image/x-ms-bmp" ["test1bpix.bmp"]=> string(14) "image/x-ms-bmp" ["test1pix.bmp"]=> diff --git a/ext/standard/tests/image/test-1pix.bmp b/ext/standard/tests/image/test-1pix.bmp new file mode 100644 index 0000000..ec68a57 Binary files /dev/null and b/ext/standard/tests/image/test-1pix.bmp differ

« previous php.cvs (#76844) next »