summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2018-06-30 16:32:19 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2018-06-30 16:40:32 +0200
commite2285eb5426161b89217a7929321084f4b75091e (patch)
tree82493c5ada12e9bc273e65036836d8080290919d
parentdeb1bad80f7587856ecbb6e7f482205572588bef (diff)
parentae04110032702622d59c21f9e615120d9479157a (diff)
downloadphp-git-e2285eb5426161b89217a7929321084f4b75091e.tar.gz
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: Fix #71848: getimagesize with $imageinfo returns false
-rw-r--r--NEWS1
-rw-r--r--ext/standard/image.c2
-rw-r--r--ext/standard/tests/image/bug71848.jpgbin0 -> 699 bytes
-rw-r--r--ext/standard/tests/image/bug71848.phpt32
4 files changed, 34 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 38098ef40e..76b457bdc1 100644
--- a/NEWS
+++ b/NEWS
@@ -41,6 +41,7 @@ PHP NEWS
- Standard:
. Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys).
(Laruence)
+ . Fixed bug #71848 (getimagesize with $imageinfo returns false). (cmb)
- ZIP:
. Fixed bug #76461 (OPSYS_Z_CPM defined instead of OPSYS_CPM).
diff --git a/ext/standard/image.c b/ext/standard/image.c
index ddd3826979..f0188c1a90 100644
--- a/ext/standard/image.c
+++ b/ext/standard/image.c
@@ -453,7 +453,7 @@ static int php_read_APP(php_stream * stream, unsigned int marker, zval *info)
buffer = emalloc(length);
- if (php_stream_read(stream, buffer, (zend_long) length) <= 0) {
+ if (php_stream_read(stream, buffer, (zend_long) length) != length) {
efree(buffer);
return 0;
}
diff --git a/ext/standard/tests/image/bug71848.jpg b/ext/standard/tests/image/bug71848.jpg
new file mode 100644
index 0000000000..9588dbe00b
--- /dev/null
+++ b/ext/standard/tests/image/bug71848.jpg
Binary files differ
diff --git a/ext/standard/tests/image/bug71848.phpt b/ext/standard/tests/image/bug71848.phpt
new file mode 100644
index 0000000000..d96ac1c537
--- /dev/null
+++ b/ext/standard/tests/image/bug71848.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Bug #71848 (getimagesize with $imageinfo returns false)
+--FILE--
+<?php
+var_dump(getimagesize(__DIR__ . '/bug71848.jpg', $info));
+var_dump(array_keys($info));
+?>
+===DONE===
+--EXPECT--
+array(7) {
+ [0]=>
+ int(8)
+ [1]=>
+ int(8)
+ [2]=>
+ int(2)
+ [3]=>
+ string(20) "width="8" height="8""
+ ["bits"]=>
+ int(8)
+ ["channels"]=>
+ int(3)
+ ["mime"]=>
+ string(10) "image/jpeg"
+}
+array(2) {
+ [0]=>
+ string(4) "APP0"
+ [1]=>
+ string(4) "APP5"
+}
+===DONE===