com php-src: Support BITMAPV5HEADER in getimagesize(): https://en.wikipedia.org/wiki/BMP_file_format#DIB _header_.28bitmap_information_header.29:
NEWS ext/standard/image.c ext/standard/tests/image/get imagesize.phpt ext/standard/tests/image/image_type_to _mime_type.phpt
ext/standard/tests/image/test1bpix. bmp
| From: | Lars Strojny | Date: | Mon, 14 Jan 2013 17:52:38 +0000 |
| Subject: | com php-src: Support BITMAPV5HEADER in getimagesize(): https://en.wikipedia.org/wiki/BMP_file_format#DIB _header_.28bitmap_information_header.29: NEWS ext/standard/image.c ext/standard/tests/image/get imagesize.phpt ext/standard/tests/image/image_type_to _mime_type.phpt ext/standard/tests/image/test1bpix. bmp |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-70943@lists.php.net to get a copy of this message | ||
Commit: bf9ad4e661be4f3eebe3511887e10e521cce7f93
Author: Lars Strojny <lstrojny@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