David Carlier
fd4db3e178
Merge branch 'PHP-8.3' into PHP-8.4
Push / MACOS_ARM64_DEBUG_NTS (push) Waiting to run
Push / WINDOWS_X64_ZTS (push) Waiting to run
Push / LINUX_X64_RELEASE_NTS (push) Has been skipped
Push / LINUX_X64_DEBUG_ZTS_ASAN (push) Has been skipped
Push / LINUX_X32_DEBUG_ZTS (push) Has been skipped
Push / BENCHMARKING (push) Has been skipped
Push / FREEBSD (push) Has been skipped
2025-08-15 08:05:14 +01:00
Mark Karpeles
987a3a5c8e
Fix GH-19484 i: potential use after free when using persistent pgsql connections.
...
Push / MACOS_DEBUG_NTS (push) Waiting to run
Push / WINDOWS_X64_ZTS (push) Waiting to run
Push / LINUX_X64_DEBUG_ZTS_ASAN (push) Has been skipped
Push / LINUX_X32_DEBUG_ZTS (push) Has been skipped
Push / BENCHMARKING (push) Has been skipped
Push / LINUX_X64_RELEASE_NTS (push) Has been skipped
Push / FREEBSD (push) Has been skipped
By setting the notice processor to a no-op when a persistent connection is cleaned for future use.
Close GH-19485
2025-08-15 08:04:14 +01:00
Ilija Tovilo
708d8e9cfd
Merge branch 'PHP-8.3' into PHP-8.4
...
Push / LINUX_X32_DEBUG_ZTS (push) Has been skipped
Push / MACOS_ARM64_DEBUG_NTS (push) Waiting to run
Push / WINDOWS_X64_ZTS (push) Waiting to run
Push / LINUX_X64_RELEASE_NTS (push) Has been skipped
Push / LINUX_X64_DEBUG_ZTS_ASAN (push) Has been skipped
Push / BENCHMARKING (push) Has been skipped
Push / FREEBSD (push) Has been skipped
* PHP-8.3:
Fix "Constant already defined" warning with repeated inclusion of file with __halt_compiler()
2025-08-14 12:15:00 +02:00
Ilija Tovilo
a3de2ce9ba
Fix "Constant already defined" warning with repeated inclusion of file with __halt_compiler()
...
Push / LINUX_X64_DEBUG_ZTS_ASAN (push) Has been skipped
Push / FREEBSD (push) Has been skipped
Push / MACOS_DEBUG_NTS (push) Waiting to run
Push / WINDOWS_X64_ZTS (push) Waiting to run
Push / LINUX_X64_RELEASE_NTS (push) Has been skipped
Push / LINUX_X32_DEBUG_ZTS (push) Has been skipped
Push / BENCHMARKING (push) Has been skipped
Fixes GH-18850
Closes GH-19471
2025-08-14 12:13:50 +02:00
Dmitry Stogov
cbb9ee8f5b
Added test for PR #19458
...
Thanks to @DanielEScherzer
2025-08-13 15:58:04 +03:00
Ilija Tovilo
7e01cf59bb
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-16649: Avoid UAF when using array_splice
2025-08-13 14:16:12 +02:00
Alexandre Daubois
c8774f9e61
Fix GH-16649: Avoid UAF when using array_splice
...
Closes GH-19399
2025-08-13 14:15:34 +02:00
Jakub Zelenka
c8a4207400
Merge branch 'PHP-8.3' into PHP-8.4
Push / MACOS_ARM64_DEBUG_NTS (push) Waiting to run
Push / WINDOWS_X64_ZTS (push) Waiting to run
Push / LINUX_X64_RELEASE_NTS (push) Has been skipped
Push / LINUX_X64_DEBUG_ZTS_ASAN (push) Has been skipped
Push / LINUX_X32_DEBUG_ZTS (push) Has been skipped
Push / BENCHMARKING (push) Has been skipped
Push / FREEBSD (push) Has been skipped
2025-08-12 17:29:18 +02:00
Jakub Zelenka
2b415e416e
Fix GH-19245: Success error message on TLS stream accept failure
...
Push / MACOS_DEBUG_NTS (push) Waiting to run
Push / WINDOWS_X64_ZTS (push) Waiting to run
Push / LINUX_X64_RELEASE_NTS (push) Has been skipped
Push / LINUX_X64_DEBUG_ZTS_ASAN (push) Has been skipped
Push / LINUX_X32_DEBUG_ZTS (push) Has been skipped
Push / BENCHMARKING (push) Has been skipped
Push / FREEBSD (push) Has been skipped
This overwrites the previous message from the successful accept call.
Closes GH-19246
2025-08-12 17:28:33 +02:00
Dmitry Stogov
47f9f3a3f6
Fix Nightly workflow Symfony assertion (ir_ra.c:326: ir_fix_live_range: Assertion `ival && p->start == old_start' failed) ( #19458 )
2025-08-12 11:59:08 +03:00
Niels Dossche
91665eaa63
Backport Lexbor changes to 8.4
2025-08-10 14:17:19 +02:00
Jakub Zelenka
f52a59ff4f
Merge branch 'PHP-8.3' into PHP-8.4
2025-08-09 17:44:25 +02:00
Jakub Zelenka
9e2aa658a8
Fix GH-19428: openssl_pkey_derive segfaults for DH derive with low key_length
...
This happens only for OpenSSL 1.1.1 because key_length is ignored for
DH. It means that the provided string is overwritten with longer buffer.
2025-08-09 17:43:04 +02:00
Niels Dossche
db3f6d0bf0
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-19397: mb_list_encodings() can cause crashes on shutdown
2025-08-08 20:32:55 +02:00
Niels Dossche
cc93bbb765
Fix GH-19397: mb_list_encodings() can cause crashes on shutdown
...
The request shutdown does not necessarily hold the last reference, if
there is still a CV that refers to the array.
Closes GH-19405.
2025-08-08 20:32:29 +02:00
Niels Dossche
11e6655624
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-19371: integer overflow in calendar.c
2025-08-07 19:08:58 +02:00
Niels Dossche
5cf45ba5ab
Fix GH-19371: integer overflow in calendar.c
...
Closes GH-19380.
2025-08-07 19:08:32 +02:00
Ilija Tovilo
5be04e25fd
[skip ci] Skip segfaulting OOM test in GH actions on Win
...
This only fails on the PHP-8.3 branch, most likely to be related to the
environment as discussed with Niels.
2025-08-06 14:28:47 +02:00
Dmitry Stogov
ac1cd9c26e
Update IR
...
IR commit: 6e2aea0ebfef2c741ebec30c57aa492df0d4e319
2025-08-04 17:26:24 +03:00
Niels Dossche
771bfaf34d
Remove dynamic defs from property hooks
...
Otherwise this hits an assertion failure in pass2 reversal and causes a
subsequent crash.
Closes GH-19206.
2025-07-31 20:22:11 +02:00
Niels Dossche
9ce51dad8b
Add missing hooks JIT restart code
...
Closes GH-19207.
2025-07-31 20:21:40 +02:00
Niels Dossche
b82c8ba7fe
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-19300: Nested array_multisort invocation with error breaks
2025-07-31 19:01:13 +02:00
Niels Dossche
a96b05e63f
Fix GH-19300: Nested array_multisort invocation with error breaks
...
There are 2 issues:
1. When a MULTISORT_ABORT happens, it frees func, but func may point to
ARRAYG(multisort_func), which would be a problem with nested
invocations as it can destroy that of the "parent" invocation.
To solve this, delay assigning to the globals.
2. The old globals were not restored which means that nested invocations
with different flags will cause a wrong sorting function to be used.
Closes GH-19319.
2025-07-31 19:00:45 +02:00
Niels Dossche
6fda0a5617
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Reset global pointers to prevent use-after-free
2025-07-30 09:23:33 +02:00
Niels Dossche
be9f1d3d56
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Reset global pointers to prevent use-after-free
2025-07-30 09:23:12 +02:00
Niels Dossche
7016ad558b
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Reset global pointers to prevent use-after-free
2025-07-30 09:22:50 +02:00
Florian Engelhardt
3aaa8d3526
Reset global pointers to prevent use-after-free
...
Closes GH-19212.
2025-07-30 09:22:15 +02:00
Gina Peter Banyard
5295fc07d5
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
ext/intl: Fix return value on failure for resourcebundle count handler
2025-07-28 15:36:02 +01:00
Gina Peter Banyard
6b0a80903b
ext/intl: Fix return value on failure for resourcebundle count handler
...
Closes GH-19277
2025-07-28 15:35:31 +01:00
Gina Peter Banyard
19c84e2687
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
ext/gd: Fix comparison with result of php_stream_can_cast()
2025-07-28 11:55:14 +01:00
Gina Peter Banyard
83b8d2c290
ext/gd: Fix comparison with result of php_stream_can_cast()
...
Closes GH-19107
2025-07-28 11:54:19 +01:00
Peter Kokot
17df11e3f7
Fix bug #51558 : shared readline build fails ( #15242 )
...
The 'rl_pending_input' is a variable in Readline library and checking it
with PHP_CHECK_LIBRARY wouldn't find it on some systems.
Library check works on most systems but not on the mentioned AIX in the
bug as it exports variables and functions differently whereas the linker
couldn't resolve the variable as a function.
This should fix the build on systems where this caused issues, such as
AIX.
The <readline/readline.h> is not self-contained header and needs to also
have <stdio.h> included before to have FILE type available. This fixes
the issue on unpatched default readline installations, such as macOS.
Checking this variable ensures that the found library is the correct
library and also that it is of minimum version needed by current PHP
code (https://bugs.php.net/48608 ).
The library check:
```c
| char rl_pending_input ();
| int main (void) {
| return rl_pending_input ();
| }
```
The declaration check:
```c
| #include <stdio.h>
| #include <readline/readline.h>
| int main (void) {
| #ifndef rl_pending_input
| #ifdef __cplusplus
| (void) rl_pending_input;
| #else
| (void) rl_pending_input;
| #endif
| #endif
| ;
| return 0;
| }
```
Closes https://bugs.php.net/51558
Closes GH-19259.
2025-07-27 15:33:48 +02:00
David Carlier
87b4030503
Merge branch 'PHP-8.3' into PHP-8.4
2025-07-27 13:50:21 +01:00
David Carlier
e1c4a0ae51
Fixed GH-19261: msgfmt_parse_message leaks on message format failure.
...
close GH-19262
2025-07-27 13:49:24 +01:00
David Carlier
279589c3af
Merge branch 'PHP-8.3' into PHP-8.4
2025-07-27 12:55:17 +01:00
dixyes
e16df981bf
ext/pdo_pgsql: Fix _pdo_pgsql_trim_message bad access
...
close GH-19239
2025-07-27 12:54:43 +01:00
Niels Dossche
802e348b49
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
NEWS for hrtime in FTP and standard
Handle broken hrtime in ftp
Fix arginfo/zpp violation if zend_hrtime is not available
2025-07-25 12:05:12 +02:00
Niels Dossche
beeeee2978
Handle broken hrtime in ftp
...
Part of GH-19210.
Closes GH-19219.
2025-07-25 11:56:30 +02:00
Niels Dossche
ad2143f3b0
Fix arginfo/zpp violation if zend_hrtime is not available
...
Part of GH-19210.
Closes GH-19218.
2025-07-25 11:56:17 +02:00
Niels Dossche
7efbb2e4e0
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Run FreebSD CI under 13.5
2025-07-22 15:52:29 +02:00
Niels Dossche
d9d412645d
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Run FreebSD CI under 13.5
2025-07-22 15:52:16 +02:00
Niels Dossche
be88192594
Run FreebSD CI under 13.5
...
13.3 gives a 404 now.
Also pulls in a 8.4 fix to include xxhash from the bundled location.
Closes GH-19213.
2025-07-22 15:51:19 +02:00
Ilija Tovilo
f0baf3dc11
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Leak in failed unserialize() with opcache
2025-07-22 15:44:16 +02:00
Ilija Tovilo
5d1636e40b
Leak in failed unserialize() with opcache
...
With opcache, zend_string_init_interned() will allocate non-interned strings at
runtime because shm is locked. Hence, we need to make sure to actually free this
string.
Fixes OSS-Fuzz #433303828
Closes GH-19211
2025-07-22 15:43:31 +02:00
Niels Dossche
e572e899bd
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix test conflict between chmod_variation2 and file_variation5
2025-07-21 23:57:49 +02:00
Niels Dossche
7ab37e81e0
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix test conflict between chmod_variation2 and file_variation5
2025-07-21 23:57:42 +02:00
Niels Dossche
27f24bd9bc
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix test conflict between chmod_variation2 and file_variation5
2025-07-21 23:57:34 +02:00
Niels Dossche
605ee05491
Fix test conflict between chmod_variation2 and file_variation5
...
Both used "somelink".
See 4642146137
Closes GH-19208.
2025-07-21 23:57:21 +02:00
Niels Dossche
f8196a5db5
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-18640: heap-use-after-free ext/soap/php_encoding.c:299:32 in soap_check_zval_ref
2025-07-20 19:49:56 +02:00
Niels Dossche
6cc4ae1f1d
Fix GH-18640: heap-use-after-free ext/soap/php_encoding.c:299:32 in soap_check_zval_ref
...
For attributes, relying on the ref_map doesn't make sense the first
place as you can't really refer to attributes from attributes.
The code therefore assumes that the node is unique, which is broken.
Closes GH-19181.
2025-07-20 19:49:22 +02:00