[php-src] master: Merge branch 'PHP-8.5'
Weilin Du <[email protected]>
| Newsgroups | gmane.comp.php.cvs.general |
|---|---|
| Message-ID | <[email protected]> |
Author: Weilin Du (LamentXU123)
Date: 2026-08-19T13:45:03+08:00
Commit: https://github.com/php/php-src/commit/670165ef838a8e0c852acd1591630e140a5a7106
Raw diff: https://github.com/php/php-src/commit/670165ef838a8e0c852acd1591630e140a5a7106.diff
Merge branch 'PHP-8.5'
* PHP-8.5:
ext/gd: Fix incorrect argument numbers in GD affine function errors (#23356)
Changed paths:
A ext/gd/tests/imageaffinematrixconcat_error.phpt
M NEWS
M ext/gd/gd.c
M ext/gd/tests/bug67248.phpt
Diff:
diff --git a/NEWS b/NEWS
index b750a036ed37..8c7f02bb94d2 100644
--- a/NEWS
+++ b/NEWS
@@ -28,6 +28,10 @@ PHP NEWS
. Fixed a use-after-free when Dom\Element::setAttributeNS() replaces the
value of an attribute whose child still has a live wrapper. (iliaal)
+- GD:
+ . Fixed imageaffinematrixget() and imageaffinematrixconcat() reporting the
+ wrong argument in error messages. (Weilin Du)
+
- PDO:
. Fixed a leak when a persistent connection failed a liveness check
with no other live PDO handle. (iliaal)
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index 24da05548cb4..f178cea1d799 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -4171,7 +4171,7 @@ PHP_FUNCTION(imageaffinematrixget)
case GD_AFFINE_SCALE: {
double x, y;
if (Z_TYPE_P(options) != IS_ARRAY) {
- zend_argument_type_error(1, "must be of type array when using translate or scale");
+ zend_argument_type_error(2, "must be of type array when using translate or scale");
RETURN_THROWS();
}
@@ -4253,7 +4253,7 @@ PHP_FUNCTION(imageaffinematrixconcat)
}
if (zend_hash_num_elements(Z_ARRVAL_P(z_m2)) != 6) {
- zend_argument_value_error(1, "must have 6 elements");
+ zend_argument_value_error(2, "must have 6 elements");
RETURN_THROWS();
}
diff --git a/ext/gd/tests/bug67248.phpt b/ext/gd/tests/bug67248.phpt
index a002f71c7fd3..5f00b94fadcd 100644
--- a/ext/gd/tests/bug67248.phpt
+++ b/ext/gd/tests/bug67248.phpt
@@ -17,8 +17,8 @@ for($i=0;$i<7;$i++) {
}
?>
--EXPECTF--
-!! [TypeError] imageaffinematrixget(): Argument #1 ($type) must be of type array when using translate or scale
-!! [TypeError] imageaffinematrixget(): Argument #1 ($type) must be of type array when using translate or scale
+!! [TypeError] imageaffinematrixget(): Argument #2 ($options) must be of type array when using translate or scale
+!! [TypeError] imageaffinematrixget(): Argument #2 ($options) must be of type array when using translate or scale
Warning: Object of class stdClass could not be converted to float in %s on line %d
array(6) {
diff --git a/ext/gd/tests/imageaffinematrixconcat_error.phpt b/ext/gd/tests/imageaffinematrixconcat_error.phpt
new file mode 100644
index 000000000000..91b355547f38
--- /dev/null
+++ b/ext/gd/tests/imageaffinematrixconcat_error.phpt
@@ -0,0 +1,14 @@
+--TEST--
+imageaffinematrixconcat() reports the correct argument for an invalid matrix size
+--EXTENSIONS--
+gd
+--FILE--
+<?php
+try {
+ imageaffinematrixconcat([1, 0, 0, 1, 0, 0], []);
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
+}
+?>
+--EXPECT--
+ValueError: imageaffinematrixconcat(): Argument #2 ($matrix2) must have 6 elements