Commit: bf9ad4e661be4f3eebe3511887e10e521cce7f93 Author: Lars Strojny <lstro...@php.net> Mon, 14 Jan 2013 18:52:38 +0100 Parents: 1e9a3ed234af443170d9ea8280a556d85299e301 Branches: PHP-5.4
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=bf9ad4e661be4f3eebe3511887e10e521cce7f93 Log: Support BITMAPV5HEADER in getimagesize(): https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.28bitmap_information_header.29 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/test1bpix.bmp Diff: diff --git a/NEWS b/NEWS index 26ce118..16c0771 100644 --- a/NEWS +++ b/NEWS @@ -3,11 +3,12 @@ PHP NEWS ?? ??? 2012, PHP 5.4.12 - Core: - . Fixed bug #63982 (isset() inconsistently produces a fatal error on + . Fixed bug #63982 (isset() inconsistently produces a fatal error on protected property). (Stas) . Fixed bug #63943 (Bad warning text from strpos() on empty needle). (Laruence) . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) + . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars) - Litespeed: . Fixed bug #63228 (-Werror=format-security error in lsapi code). (George) @@ -26,7 +27,7 @@ PHP NEWS . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user). (Johannes) - . Fixed bug #43177 (Errors in eval()'ed code produce status code 500). + . Fixed bug #43177 (Errors in eval()'ed code produce status code 500). (Todd Ruth, Stas). - Filter: diff --git a/ext/standard/image.c b/ext/standard/image.c index ebf894a..4984e40 100644 --- a/ext/standard/image.c +++ b/ext/standard/image.c @@ -159,7 +159,7 @@ static struct gfxinfo *php_handle_bmp (php_stream * stream TSRMLS_DC) result->width = (((unsigned int)dim[ 5]) << 8) + ((unsigned int) dim[ 4]); result->height = (((unsigned int)dim[ 7]) << 8) + ((unsigned int) dim[ 6]); result->bits = ((unsigned int)dim[11]); - } else if (size > 12 && (size <= 64 || size == 108)) { + } else if (size > 12 && (size <= 64 || size == 108 || size == 124)) { 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]); diff --git a/ext/standard/tests/image/getimagesize.phpt b/ext/standard/tests/image/getimagesize.phpt index ab79c9c..6cd8275 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(11) { +array(12) { + ["test1bpix.bmp"]=> + array(6) { + [0]=> + int(500) + [1]=> + int(345) + [2]=> + int(6) + [3]=> + string(24) "width="500" height="345"" + ["bits"]=> + int(32) + ["mime"]=> + string(14) "image/x-ms-bmp" + } ["test1pix.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 5d94a6f..d83ab8d 100644 --- a/ext/standard/tests/image/image_type_to_mime_type.phpt +++ b/ext/standard/tests/image/image_type_to_mime_type.phpt @@ -1,8 +1,8 @@ --TEST-- image_type_to_mime_type() --SKIPIF-- -<?php - if (!function_exists('image_type_to_mime_type')) die('skip image_type_to_mime_type() not available'); +<?php + if (!function_exists('image_type_to_mime_type')) die('skip image_type_to_mime_type() not available'); require_once('skipif_imagetype.inc'); ?> --FILE-- @@ -25,7 +25,9 @@ image_type_to_mime_type() var_dump($result); ?> --EXPECT-- -array(11) { +array(12) { + ["test1bpix.bmp"]=> + string(14) "image/x-ms-bmp" ["test1pix.bmp"]=> string(14) "image/x-ms-bmp" ["test1pix.jp2"]=> @@ -48,4 +50,4 @@ array(11) { string(29) "application/x-shockwave-flash" ["test4pix.tif"]=> string(10) "image/tiff" -} \ No newline at end of file +} diff --git a/ext/standard/tests/image/test1bpix.bmp b/ext/standard/tests/image/test1bpix.bmp new file mode 100644 index 0000000..5522e50 Binary files /dev/null and b/ext/standard/tests/image/test1bpix.bmp differ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php