Skip to content

Commit bc8e52f

Browse files
committed
Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0: Fix GH-8848: imagecopyresized() error refers to the wrong argument
2 parents 53265f5 + 9405f43 commit bc8e52f

File tree

3 files changed

+36
-5
lines changed

3 files changed

+36
-5
lines changed

NEWS

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33
?? ??? ????, PHP 8.1.9
44

5-
5+
- GD:
6+
. Fixed bug GH-8848 (imagecopyresized() error refers to the wrong argument).
7+
(cmb)
68

79
07 Jul 2022, PHP 8.1.8
810

ext/gd/gd.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3086,22 +3086,22 @@ PHP_FUNCTION(imagecopyresized)
30863086
dstW = DW;
30873087

30883088
if (dstW <= 0) {
3089-
zend_argument_value_error(3, "must be greater than 0");
3089+
zend_argument_value_error(7, "must be greater than 0");
30903090
RETURN_THROWS();
30913091
}
30923092

30933093
if (dstH <= 0) {
3094-
zend_argument_value_error(4, "must be greater than 0");
3094+
zend_argument_value_error(8, "must be greater than 0");
30953095
RETURN_THROWS();
30963096
}
30973097

30983098
if (srcW <= 0) {
3099-
zend_argument_value_error(5, "must be greater than 0");
3099+
zend_argument_value_error(9, "must be greater than 0");
31003100
RETURN_THROWS();
31013101
}
31023102

31033103
if (srcH <= 0) {
3104-
zend_argument_value_error(6, "must be greater than 0");
3104+
zend_argument_value_error(10, "must be greater than 0");
31053105
RETURN_THROWS();
31063106
}
31073107

ext/gd/tests/gh8848.phpt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
--TEST--
2+
GH-8848 (imagecopyresized() error refers to the wrong argument)
3+
--EXTENSIONS--
4+
gd
5+
--FILE--
6+
<?php
7+
$image1 = imagecreatetruecolor(1, 1);
8+
$image2 = imagecreatetruecolor(1, 1);
9+
10+
$argslist = [
11+
[0, 1, 1, 1],
12+
[1, 0, 1, 1],
13+
[1, 1, 0, 1],
14+
[1, 1, 1, 0],
15+
];
16+
17+
foreach ($argslist as $args) {
18+
try {
19+
imagecopyresized($image1, $image2, 1, 1, 1, 1, ...$args);
20+
} catch (ValueError $ex) {
21+
echo $ex->getMessage(), PHP_EOL;
22+
}
23+
}
24+
?>
25+
--EXPECT--
26+
imagecopyresized(): Argument #7 ($dst_width) must be greater than 0
27+
imagecopyresized(): Argument #8 ($dst_height) must be greater than 0
28+
imagecopyresized(): Argument #9 ($src_width) must be greater than 0
29+
imagecopyresized(): Argument #10 ($src_height) must be greater than 0

0 commit comments

Comments
 (0)