Commit e284d8c25bd for php
commit e284d8c25bdd0790f78cafd375e0b983272265c6
Merge: 30999ac58ee 48b01b83243
Author: ndossche <7771979+ndossche@users.noreply.github.com>
Date: Sun Oct 25 12:52:28 2026 +0100
Merge branch 'PHP-8.5' into PHP-8.6
* PHP-8.5:
Fix GH-24264: Unwind/GracefulExit discarded in spl_iterators.c
diff --cc NEWS
index b487df48dde,4513b51b868..1d89beaec1a
--- a/NEWS
+++ b/NEWS
@@@ -1,62 -1,8 +1,66 @@@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? ????, PHP 8.5.13
+?? ??? ????, PHP 8.6.0RC5
- Core:
+ . Fix function and constant imports in compile_to_ast and add support
+ for grouping. (Klaas Skelte van der Werf)
+
+- DBA:
+ . Fixed bug GH-24641 (ndbm backend never checks dbm_open() return value,
+ NULL deref on first use after a failed open). (Girgias)
+
+- DOM:
+ . Fix error paths in dom_xml_serializing_a_document_node(). (ndossche)
+
+- Hash:
+ . Fix GOST and Snefru digests of 512 MiB or more. (Martin Mirchev)
+
+- Opcache:
+ . Fixed tracing JIT returning a wrapped integer instead of a float on
+ integer overflow after an integer was compared with a float or
+ numeric-string literal. (Ilia Alshanetsky)
+ . Fixed use-after-free in JIT ASSIGN_DIM_OP when concatenating into an
+ empty array element. (jorgsowa)
+ . Fixed bug GH-24396 (Assertion failure in zend_jit_def_reg() "reg forwarding"
+ with chained Pi nodes). (ndossche)
+ . Fixed JIT treating an array as packed after a string key write turned it
+ into a hash. (jorgsowa)
+
+- PDO_PGSQL:
+ . Fixed bug GH-24461 (DISCARD ALL on persistent connection cleanup drops
+ PgBouncer's prepared statements). (David Carlier, Artem Ukrainskiy)
+
+- SAPI:
+ . Fixed infinite loop in sapi_header_op() for headers of 4 GiB or more.
+ (Martin Mirchev)
+
++- SPL:
++ . Fixed bug GH-24264 (Unwind/GracefulExit discarded in spl_iterators.c).
++ (Lazizbek Ergashev)
++
+- Standard:
+ . Fixed bug GH-24308 (Request shutdown calls closelog() even when syslog
+ was not opened by PHP). (lazerg)
+
+- Streams:
+ . Fixed bug GH-24506 (stream_select() leaks a stream-error operation level
+ on its FD_SETSIZE failure path). (azjezz)
+ . Fixed bug GH-24508 (HTTP wrapper leaks the dechunk filter when header
+ parsing fails after Transfer-Encoding). (bercedev)
+ . Fixed bug GH-24509 (HTTP wrapper leaks Location buffer on empty
+ Location header). (bercedev)
+
+- Zlib:
+ . Fixed bug GH-24533 (zlib.lib could not be found because zlib 1.3.2
+ CMake build does not emit it). (Lazizbek Ergashev)
+
+21 Oct 2026, PHP 8.6.0RC4
+
+- Core:
+ . Fixed GHSA-w8hw-w9fx-j79w, GHSA-6wmf-4rv5-p3rp (Avoid state corruption via
+ bailout). (CVE-2026-109618, CVE-2026-109619) (Arnaud, ilutov, Jakub Zelenka,
+ ndossche, Nicolas Grekas)
. Fixed bug GH-24184 (System ID not being reinitialized after an Apache
graceful restart, potentially causing incompatible OPcache file cache
entries to be reused). (Levi Morrison)
diff --cc ext/spl/spl_iterators.c
index dfcde994a5c,9ad8e0fcb09..94c89448d54
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
@@@ -408,9 -422,9 +415,9 @@@ next_step
sub_iter->funcs->rewind(sub_iter);
}
if (object->beginChildren) {
- zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->beginChildren, "beginchildren", NULL);
+ zend_call_known_function(object->beginChildren, Z_OBJ_P(zthis), object->ce, NULL, 0, NULL, NULL);
if (EG(exception)) {
- if (!(object->flags & RIT_CATCH_GET_CHILD)) {
+ if (!spl_can_catch_exception(object->flags)) {
return;
} else {
zend_clear_exception();
@@@ -422,9 -436,9 +429,9 @@@
/* no more elements */
if (object->level > 0) {
if (object->endChildren) {
- zend_call_method_with_0_params(Z_OBJ_P(zthis), object->ce, &object->endChildren, "endchildren", NULL);
+ zend_call_known_function(object->endChildren, Z_OBJ_P(zthis), object->ce, NULL, 0, NULL, NULL);
if (EG(exception)) {
- if (!(object->flags & RIT_CATCH_GET_CHILD)) {
+ if (!spl_can_catch_exception(object->flags)) {
return;
} else {
zend_clear_exception();