Skip to content

Commit 2e01b30

Browse files
committed
changes from feedback
1 parent 7e97325 commit 2e01b30

File tree

3 files changed

+25
-17
lines changed

3 files changed

+25
-17
lines changed

ext/gd/gd.c

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3645,13 +3645,13 @@ static void php_image_filter_scatter(INTERNAL_FUNCTION_PARAMETERS)
36453645
Z_PARAM_ARRAY(hash_colors)
36463646
ZEND_PARSE_PARAMETERS_END();
36473647

3648-
if (ZEND_SIZE_T_INT_OVFL(scatter_sub)) {
3649-
zend_argument_value_error(3, "must not be greater than %d", INT_MAX);
3648+
if (scatter_sub < 0 || ZEND_SIZE_T_INT_OVFL(scatter_sub)) {
3649+
zend_argument_value_error(3, "must be between 0 and %d", INT_MAX);
36503650
RETURN_THROWS();
36513651
}
36523652

3653-
if (ZEND_SIZE_T_INT_OVFL(scatter_plus)) {
3654-
zend_argument_value_error(4, "must not be greater than %d", INT_MAX);
3653+
if (scatter_plus < 0 || ZEND_SIZE_T_INT_OVFL(scatter_plus)) {
3654+
zend_argument_value_error(4, "must be between 0 and %d", INT_MAX);
36553655
RETURN_THROWS();
36563656
}
36573657

@@ -3951,7 +3951,7 @@ PHP_FUNCTION(imagescale)
39513951
ZEND_PARSE_PARAMETERS_END();
39523952

39533953
if (tmp_m < GD_DEFAULT || tmp_m >= GD_METHOD_COUNT) {
3954-
zend_argument_value_error(4, "must be a valid mode");
3954+
zend_argument_value_error(4, "must be one of the GD_* constants");
39553955
RETURN_THROWS();
39563956
}
39573957

@@ -3974,17 +3974,13 @@ PHP_FUNCTION(imagescale)
39743974
}
39753975
}
39763976

3977-
if (tmp_w <= 0) {
3978-
RETURN_FALSE;
3979-
} else if (ZEND_SIZE_T_INT_OVFL(tmp_w)) {
3980-
zend_argument_value_error(2, "must be lower or equal to %d", INT_MAX);
3977+
if (tmp_w <= 0 || ZEND_SIZE_T_INT_OVFL(tmp_w)) {
3978+
zend_argument_value_error(2, "must be between 1 and %d", INT_MAX);
39813979
RETURN_THROWS();
39823980
}
39833981

3984-
if (tmp_h <= 0) {
3985-
RETURN_FALSE;
3986-
} else if (ZEND_SIZE_T_INT_OVFL(tmp_h)) {
3987-
zend_argument_value_error(3, "must be lower or equal to %d", INT_MAX);
3982+
if (tmp_h <= 0 || ZEND_SIZE_T_INT_OVFL(tmp_h)) {
3983+
zend_argument_value_error(3, "must be between 1 and %d", INT_MAX);
39883984
RETURN_THROWS();
39893985
}
39903986

ext/gd/tests/bug72337.phpt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,25 @@ gd
66
<?php
77
$im = imagecreatetruecolor(1, 1);
88
try {
9-
imagescale($im, 0, 0, -10);
9+
imagescale($im, 1, 1, -10);
1010
} catch (\ValueError $e) {
1111
echo $e->getMessage() . PHP_EOL;
1212
}
13-
imagescale($im, 0, 0, IMG_BICUBIC_FIXED);
13+
try {
14+
imagescale($im, 0, 1, 0);
15+
} catch (\ValueError $e) {
16+
echo $e->getMessage() . PHP_EOL;
17+
}
18+
try {
19+
imagescale($im, 1, 0, 0);
20+
} catch (\ValueError $e) {
21+
echo $e->getMessage() . PHP_EOL;
22+
}
23+
imagescale($im, 1, 1, IMG_BICUBIC_FIXED);
1424
echo "OK";
1525
?>
1626
--EXPECT--
17-
imagescale(): Argument #4 ($mode) must be a valid mode
27+
imagescale(): Argument #4 ($mode) must be one of the GD_* constants
28+
imagescale(): Argument #2 ($width) must be between 1 and 2147483647
29+
imagescale(): Argument #3 ($height) must be between 1 and 2147483647
1830
OK

ext/gd/tests/bug73957.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ try {
1919
}
2020
?>
2121
--EXPECTF--
22-
imagescale(): Argument #2 ($width) must be lower or equal to %d
22+
imagescale(): Argument #2 ($width) must be between 1 and %d

0 commit comments

Comments
 (0)