From 9405f43ba927376e02f4023cbfdc0f9bf412396d Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 23 Jun 2022 13:23:27 +0200 Subject: [PATCH] Fix GH-8848: imagecopyresized() error refers to the wrong argument Closes GH-8849. --- NEWS | 3 +++ ext/gd/gd.c | 8 ++++---- ext/gd/tests/gh8848.phpt | 31 +++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 ext/gd/tests/gh8848.phpt diff --git a/NEWS b/NEWS index c25a387d4fb..3474bfa6381 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2022, PHP 8.0.22 +- GD: + . Fixed bug GH-8848 (imagecopyresized() error refers to the wrong argument). + (cmb) 07 Jul 2022, PHP 8.0.21 diff --git a/ext/gd/gd.c b/ext/gd/gd.c index bed7e53ac53..336ddef9c6b 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -3013,22 +3013,22 @@ PHP_FUNCTION(imagecopyresized) dstW = DW; if (dstW <= 0) { - zend_argument_value_error(3, "must be greater than 0"); + zend_argument_value_error(7, "must be greater than 0"); RETURN_THROWS(); } if (dstH <= 0) { - zend_argument_value_error(4, "must be greater than 0"); + zend_argument_value_error(8, "must be greater than 0"); RETURN_THROWS(); } if (srcW <= 0) { - zend_argument_value_error(5, "must be greater than 0"); + zend_argument_value_error(9, "must be greater than 0"); RETURN_THROWS(); } if (srcH <= 0) { - zend_argument_value_error(6, "must be greater than 0"); + zend_argument_value_error(10, "must be greater than 0"); RETURN_THROWS(); } diff --git a/ext/gd/tests/gh8848.phpt b/ext/gd/tests/gh8848.phpt new file mode 100644 index 00000000000..bd89d0b0757 --- /dev/null +++ b/ext/gd/tests/gh8848.phpt @@ -0,0 +1,31 @@ +--TEST-- +GH-8848 (imagecopyresized() error refers to the wrong argument) +--SKIPIF-- + +--FILE-- +getMessage(), PHP_EOL; + } +} +?> +--EXPECT-- +imagecopyresized(): Argument #7 ($dst_width) must be greater than 0 +imagecopyresized(): Argument #8 ($dst_height) must be greater than 0 +imagecopyresized(): Argument #9 ($src_width) must be greater than 0 +imagecopyresized(): Argument #10 ($src_height) must be greater than 0