Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 17 additions & 13 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,9 @@ 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)

- PDO:
. Fixed a leak when a persistent connection failed a liveness check
with no other live PDO handle. (iliaal)

- PDO_PGSQL:
. Fixed several lazy fetch (PDO::ATTR_PREFETCH => 0) defects: an infinite
loop when cleaning up a fetch left in a COPY, a use-after-free when a
statement with emulated or disabled prepares is destroyed, a connection
left busy for the next fetch, and rows delivered from a result another
statement took over. (KentarouTakeda)
- GD:
. Fixed imageaffinematrixget() and imageaffinematrixconcat() reporting the
wrong argument in error messages. (Weilin Du)

- Intl:
. Fixed grapheme_strrev() treating UBRK_DONE as a byte index and leaving
Expand All @@ -50,6 +43,17 @@ PHP NEWS
(iliaal, Xuyang Zhang)
. Fixed grapheme_str_split() treating UBRK_DONE as a byte index. (iliaal)

- PDO:
. Fixed a leak when a persistent connection failed a liveness check
with no other live PDO handle. (iliaal)

- PDO_PGSQL:
. Fixed several lazy fetch (PDO::ATTR_PREFETCH => 0) defects: an infinite
loop when cleaning up a fetch left in a COPY, a use-after-free when a
statement with emulated or disabled prepares is destroyed, a connection
left busy for the next fetch, and rows delivered from a result another
statement took over. (KentarouTakeda)

- Phar:
. Fixed Phar archives being automatically detected when ".phar" only occurs
in a directory name or is not a filename extension in an included file's
Expand All @@ -58,6 +62,9 @@ PHP NEWS
- Readline:
. Fixed class constant completion in the interactive shell. (Weilin Du)

- SAPI:
. Fixed returns uninitialized value on LiteSpeed lsapi SAPI (Go Kudo)

- Session:
. Fixed bug GH-23056 (missing handler name in session write warning).
(lazerg)
Expand All @@ -68,9 +75,6 @@ PHP NEWS
. Fixed bug GH-17787 (ZipArchive stream stops reading early when the archive
is freed while the stream is still open). (Eyüp Can Akman)

- SAPI:
. Fixed returns uninitialized value on LiteSpeed lsapi SAPI (Go Kudo)

13 Aug 2026, PHP 8.6.0beta1

- Core:
Expand Down
4 changes: 2 additions & 2 deletions ext/gd/gd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}

Expand Down Expand Up @@ -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();
}

Expand Down
4 changes: 2 additions & 2 deletions ext/gd/tests/bug67248.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
14 changes: 14 additions & 0 deletions ext/gd/tests/imageaffinematrixconcat_error.phpt
Original file line number Diff line number Diff line change
@@ -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