Commit 4fbeee21f77 for php
commit 4fbeee21f778477cac6b2eeac27895cd473f41a1
Merge: 7ab1c1a1b4e ebc5463ca6a
Author: Ilia Alshanetsky <ilia@ilia.ws>
Date: Thu Oct 29 14:48:57 2026 -0400
Merge branch 'PHP-8.5' into PHP-8.6
* PHP-8.5:
ext/standard: Free Windows DNS query results
diff --cc NEWS
index edc5baa549b,2ec973d9bc5..eb3909ab000
--- a/NEWS
+++ b/NEWS
@@@ -138,146 -220,10 +138,148 @@@ PH
properties). (Lazizbek Ergashev)
- Standard:
+ . Fixed memory leaks in checkdnsrr() and dns_check_record() on Windows.
+ (Ilia Alshanetsky)
. Fixed bug GH-24308 (Request shutdown calls closelog() even when syslog
was not opened by PHP). (lazerg)
+ . Fixed bug GH-24552 (Case-insensitive substr_compare(), ksort() and
+ krsort() are still locale-dependent). (Lazizbek Ergashev, Jon Surrell)
+ . Fix use-after-free in Randomizer::shuffleArray() when the engine throws.
+ (Marti2203)
+
+- 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)
+
+- Zip:
+ . Reject broken libzip versions 1.3.1, 1.7.0 and 1.12.0 during Windows
+ configuration. (Weilin Du)
+ . Excluded libzip 1.12.0 due to a regression preventing additions and
+ replacements in torrentzip archives. (Weilin Du)
+
+- 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)
+ . Fixed memory leak when an exception already contains the pending exception
+ in its previous chain. (Edmond)
+ . Fixed bug GH-23979 (Nullsafe operator must not flush delayed oplines of an
+ enclosing function). (ndossche)
+ . Fixed memory manager keeping a block reallocated to exactly the size of
+ the next smaller bin in its larger bin, which efree_size() then freed
+ into the wrong one. (Marc Bennewitz)
+ . Fix throwing behaviour with recursive arrays in VM. (ndossche)
+ . Fixed skipped catch block when switching fibers during exception unwinding
+ (Nicolas Grekas)
+ . Fix escape analysis for objects implementing ArrayAccess. (ndossche, Arnaud)
+ . Fixed array_map() optimization not resolving the class name of a static
+ first-class callable. (Claudio Dekker)
+
+- Date:
+ . Fixed bug GH-20503 (Assertion failure with ext/date DateInterval property
+ hash construction). (heathdutton)
+ . Fixed bug GH-24350 (MINIT reads a stale external tz database after an
+ in-process module restart). (Lazizbek Ergashev)
+
+- Fileinfo:
+ . Fixed bug GH-24289 (finfo::file() reports the wrong argument number for
+ an invalid $filename). (Lazizbek Ergashev)
+
+- FPM:
+ . Fixed bug GH-24229 (fcgi_close() passes shutdown() a literal 1, which is
+ SHUT_RD in WASI). (Ryosuke Ishibashi)
+
+- FTP:
+ . Fix double free in ext/ftp data_accept() on accept failure. (alepacheco)
+
+- MBString:
+ . Fixed bug GH-23958 (truncated encoding names resolving to full names). (Kamil Tekiela)
+ . Fixed out-of-bounds read in php_mb_rfc1867_getword() on a multibyte lead
+ byte at the end of a multipart field name. (Jorg Sowa)
+
+- MySQLnd:
+ . Fixed bug GH-24293 (Segfault on connect with an empty password to a
+ MariaDB PAM account). (lazerg)
+
+- Opcache:
+ . Fixed bug GH-17626 (JIT corrupts an opline handler when blacklisting a
+ root trace at the opcache.jit_max_root_traces limit, causing spurious
+ "Too few arguments" errors and crashes). (RV7PR)
+ . Fix type inference of ADD_ARRAY_UNPACK with integer keys. (ndossche)
+ . Fix too wide type inference for ASSIGN_DIM_OP. (ndossche)
+ . Fix OSS-Fuzz #568005340 (FETCH_DIM_FUNC_ARG partial conversion). (ndossche)
+ . Fix exception checks due to NAN warnings and object empty()'s. (ndossche)
+ . Fixed bug GH-24270 (JIT loses the called scope of self:: and parent:: calls
+ in closures). (RV7PR)
+ . Fixed bug GH-24337 (JIT: segfault when decrementing a non-numeric string
+ property). (Lazizbek Ergashev)
+ . Fixed bug GH-24185 (Windows ZTS: random access violations with OPcache JIT
+ in multi-process setups). (Arnaud, ndossche)
+ . Fix SIGFPE on LONG_MIN % -1 with a constant divisor. (waroad)
+ . Fixed bug GH-24388 (Tracing JIT: segfault when a trace runs out of side
+ exits). (Lazizbek Ergashev)
+ . Fixed bug GH-24391 (JIT switch on constant null takes default instead of
+ case 0). (ndossche)
+ . Fixed bug GH-24206 (Tracing JIT loses loop-carried CV when its loop PHI
+ is reloaded from memory). (ndossche)
+ . Fixed bug GH-24386 (JIT: register operand must be loaded before the typed
+ reference check). (ndossche)
+ . Fixed bug GH-24437 (JIT: Fix OP_DATA read from an unwritten slot in
+ zend_jit_assign_dim_op()). (waroad)
+ . Fixed bug GH-24398 (JIT: minimal JIT segfault when a hooked property is
+ passed to a run-time-resolved function). (waroad)
+ . Fixed bug GH-24389 (Tracing JIT: type guard on entry of an inlined call
+ exits with an uninitialized opline). (waroad)
+
+- PDO:
+ . Fixed invalid ATTR_ORACLE_NULLS values being accepted and truncated.
+ (Ilia Alshanetsky)
+ . Fixed a duplicate warning when ATTR_STATEMENT_CLASS is rejected on a
+ persistent connection. (Ilia Alshanetsky)
+ . Fixed constructor option errors naming argument #3 ($password) instead
+ of argument #4 ($options). (Ilia Alshanetsky)
+
+- Phpdbg:
+ . Fix wrong command names. (ndossche, Weilin Du)
+
+- Phar:
+ . Fixed GH-24166 (Double-free in Phar::webPhar() in CGI without PATH_INFO).
+ (RigelYoung, Jakub Zelenka)
+
+- POSIX:
+ . Fixed posix_setrlimit() rejecting POSIX_RLIMIT_INFINITY on Solaris.
+ (Jorg Sowa)
+
+- Readline:
+ . Fixed a crash in readline_info() when completion_append_character
+ contains a non-ASCII byte. (Weilin Du)
+
+- Session:
+ . Fixed session_write_close() keeping the save handler open when the
+ session data cannot be encoded. (Ilia Alshanetsky)
+ . Fixed session data loss in the files save handler when writing the session
+ file fails after it was already truncated. (Ilia Alshanetsky)
+
+- SOAP:
+ . Fixed bug GH-23686 (SoapClient only strips `Authorization: Basic` when a
+ WSDL imports from another host). (DanielEScherzer)
+
+- Standard:
+ . Fixed chown() and lchown() failing to resolve user names in ZTS builds
+ when getpwnam_r() needs a larger buffer. (Ilia Alshanetsky)
. Fixed password_get_info() and password_needs_rehash() accepting malformed
bcrypt costs. (Ilia Alshanetsky)
. Fixed proc_open() null descriptor not being inheritable on Windows.
diff --cc ext/standard/dns_win32.c
index c9ff67e47b1,3124f768e92..e8e970e0d22
--- a/ext/standard/dns_win32.c
+++ b/ext/standard/dns_win32.c
@@@ -114,7 -116,13 +114,11 @@@ PHP_FUNCTION(dns_check_record
status = DnsQuery_A(hostname, type, DNS_QUERY_STANDARD, NULL, &pResult, NULL);
- if (status) {
- RETURN_FALSE;
++ if (!status) {
++ DnsRecordListFree(pResult, DnsFreeRecordListDeep);
+ }
+
- DnsRecordListFree(pResult, DnsFreeRecordListDeep);
-
- RETURN_TRUE;
+ RETURN_BOOL(!status);
}
/* }}} */