summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2016-09-23 23:44:02 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2016-09-23 23:46:22 +0200
commit456be3ec37c0242635980db1ae33eca993db97cb (patch)
treeac64f79e575285e6f0da0bbe5fd72be16bc938f7
parent4685297f05d96eddcadc5eac4ce24d9b47afa03b (diff)
parentc240978067298af3711459fac15e97d99e43bcf2 (diff)
downloadphp-git-456be3ec37c0242635980db1ae33eca993db97cb.tar.gz
Merge branch 'PHP-5.6' into PHP-7.0
-rw-r--r--NEWS1
-rw-r--r--ext/gd/gd.c8
-rw-r--r--ext/gd/tests/bug73157.phpt22
3 files changed, 27 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index b9c1c0fe78..5f02649595 100644
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,7 @@ PHP NEWS
cmb)
. Fixed bug #53504 (imagettfbbox gives incorrect values for bounding box).
(Mark Plomer, cmb)
+ . Fixed bug #73157 (imagegd2() ignores 3rd param if 4 are given). (cmb)
- Mbstring:
. Fixed bug #66797 (mb_substr only takes 32-bit signed integer). (cmb)
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index 4202de9f15..62433c58ba 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -2546,11 +2546,11 @@ static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char
if (argc > 1) {
fn = file;
- if (argc == 3) {
+ if (argc >= 3) {
q = quality;
- }
- if (argc == 4) {
- t = type;
+ if (argc == 4) {
+ t = type;
+ }
}
}
diff --git a/ext/gd/tests/bug73157.phpt b/ext/gd/tests/bug73157.phpt
new file mode 100644
index 0000000000..b03e91ec9d
--- /dev/null
+++ b/ext/gd/tests/bug73157.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Bug #73157 (imagegd2() ignores 3rd param if 4 are given)
+--SKIPIF--
+<?php
+if (!extension_loaded('gd')) die('skip gd extension not available');
+?>
+--FILE--
+<?php
+$im = imagecreate(8, 8);
+imagecolorallocate($im, 0, 0, 0);
+
+ob_start();
+imagegd2($im, null, 256, IMG_GD2_RAW);
+$buffer = ob_get_clean();
+
+$header = unpack('@10/nchunk_size', $buffer);
+printf("chunk size: %d\n", $header['chunk_size']);
+?>
+===DONE===
+--EXPECT--
+chunk size: 256
+===DONE===