Daniel Scherzer
ea75635f1d
Update versions for PHP 8.5.2
2026-01-13 13:40:53 -08:00
Niels Dossche
c35224e11c
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-20352: UAF in php_output_handler_free via re-entrant ob_start() during error deactivation
2025-12-19 19:37:11 +01:00
Niels Dossche
0590a34aee
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-20352: UAF in php_output_handler_free via re-entrant ob_start() during error deactivation
2025-12-19 19:36:53 +01:00
Niels Dossche
ee0143887d
Fix GH-20352: UAF in php_output_handler_free via re-entrant ob_start() during error deactivation
...
The problem is that the code is doing `php_output_handler_free` in a loop on the output stack,
but prior to freeing the pointer on the stack in `php_output_handler_free` it calls
`php_output_handler_dtor` which can run user code that reallocates the stack,
resulting in a dangling pointer freed by php_output_handler_free.
Furthermore, OG(active) is set when creating a new output handler, but
the loop is supposed to clean up all handlers, so OG(active) must be
reset as well.
Closes GH-20356.
2025-12-19 19:36:26 +01:00
Saki Takamachi
2ec8c29fda
PHP-8.4 is now for PHP 8.4.17-dev
2025-12-03 14:52:20 +09:00
Eric Mann
e10f6d702f
PHP-8.3 is now for PHP 8.3.30-dev
2025-12-02 09:05:38 -08:00
Volker Dusch
d8fbe40efb
PHP-8.5 is now for PHP 8.5.2-dev
2025-12-02 12:14:28 +01:00
David Carlier
227541cb96
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-20601: ftp_connect() timeout argument overflow.
2025-11-29 23:06:15 +00:00
David Carlier
1701589884
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-20601: ftp_connect() timeout argument overflow.
2025-11-29 23:05:37 +00:00
David Carlier
4312a446d0
Fix GH-20601: ftp_connect() timeout argument overflow.
...
close GH-20603
2025-11-29 23:05:14 +00:00
Niels Dossche
eb733a3127
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-20286: use-after-destroy during userland stream_close()
2025-11-23 17:51:35 +01:00
Niels Dossche
27f17c3322
Fix GH-20286: use-after-destroy during userland stream_close()
...
Closes GH-20493.
Co-authored-by: David Carlier <devnexen@gmail.com >
2025-11-23 17:46:28 +01:00
Daniel Scherzer
2711864e82
Revert "Deprecate returning non-string values from a user output handler ( #18932 )" ( #20455 )
...
This partially reverts commit d8577d9bfb , and
reverts parts of 07f1cfd9b0 .
2025-11-11 15:22:25 -08:00
Niels Dossche
ee9773bdc6
Fix nightly failure due to OnChangeMemoryLimit changes ( #20450 )
2025-11-11 13:40:04 +01:00
manuel
9b752a3d2b
Commit the actual fix for GH-17951
...
Sorry, my (ilutov's) bad. I reverted the change to verify the test, but forgot
to undo before pushing.
2025-11-11 01:44:50 +01:00
Volker Dusch
78107c4a9a
PHP 8.5 is now for PHP 8.5.1-dev
2025-11-04 19:55:56 +01:00
Calvin Buckley
57deb6c11b
PHP 8.4 is now for PHP 8.4.16-dev
...
(Looks like this wasn't bumped for 8.4.15-dev previously)
2025-11-04 12:07:39 -04:00
Jakub Zelenka
17f253a1f2
PHP-8.3 is now for PHP 8.3.29-dev
2025-11-04 15:13:43 +01:00
Jakub Zelenka
45451740e3
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-19798: XP_SOCKET XP_SSL: Incorrect condition for Win
2025-10-23 15:26:05 +02:00
Jakub Zelenka
2a0931d347
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-19798: XP_SOCKET XP_SSL: Incorrect condition for Win
2025-10-23 15:22:21 +02:00
Jakub Zelenka
eef11e048d
Fix GH-19798: XP_SOCKET XP_SSL: Incorrect condition for Win
...
This fixes incorrect type conversion and subsequent check for Windows
where returned socket is not an int.
It should be noted that this is not really an issue as previous int
would get negative so the check should still work. The issue actually
happens only in master (PHP 8.5) where refactoring has been done and the
type changed.
Closes GH-19881
2025-10-23 15:11:14 +02:00
Eric Mann
91eb2a558d
PHP-8.3 is now for PHP 8.3.28-dev
2025-10-07 06:58:36 -07:00
Tim Düsterhus
7858a83613
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Regenerate main/debug_gdb_scripts.c
2025-10-06 20:45:46 +02:00
Tim Düsterhus
08924cd8c4
Regenerate main/debug_gdb_scripts.c
...
Following 9d9b73a3f0 / GH-20077.
2025-10-06 20:45:14 +02:00
Niels Dossche
ff7e1e7105
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-19570: unable to fseek in /dev/zero and /dev/null
2025-10-06 18:16:48 +02:00
Niels Dossche
2edb369181
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-19570: unable to fseek in /dev/zero and /dev/null
2025-10-06 18:16:37 +02:00
Niels Dossche
b7aeb0a69f
Fix GH-19570: unable to fseek in /dev/zero and /dev/null
...
On Linux, these two character devices are exceptions in that they can be
seeked. Check their major/minor device number.
Co-authored-by: divinity76 <hans@loltek.net >
2025-10-06 18:16:16 +02:00
Jakub Zelenka
010e178a40
Merge branch 'PHP-8.4' into PHP-8.5
2025-10-02 19:23:26 +02:00
Jakub Zelenka
57e1438ca5
Merge branch 'PHP-8.3' into PHP-8.4
2025-10-02 19:22:59 +02:00
Jakub Zelenka
288d698ce4
Prevent use after stack scope in stream strerr code ( #20040 )
2025-10-02 19:22:28 +02:00
Jakub Zelenka
d44eb76c91
Merge branch 'PHP-8.4' into PHP-8.5
2025-10-02 13:44:35 +02:00
Jakub Zelenka
10eb3d69c7
Merge branch 'PHP-8.3' into PHP-8.4
2025-10-02 13:43:47 +02:00
Jakub Zelenka
a3c14d6ab4
Do not use errno_t as it is not defined on musl ( #20037 )
2025-10-02 13:42:11 +02:00
David Carlier
7760e43ad1
Merge branch 'PHP-8.4' into PHP-8.5
2025-10-02 12:31:59 +01:00
David Carlier
3193fe0728
Merge branch 'PHP-8.3' into PHP-8.4
2025-10-02 12:30:41 +01:00
David Carlier
175afc4085
Fix GH-19705: do not flush/write buffer on non writeable stream.
...
Co-authored-by: Jakub Zelenka <bukka@php.net >
close GH-19708
2025-10-02 12:28:36 +01:00
Niels Dossche
31fefe0e09
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix GH-17345: Bug #35916 was not completely fixed
2025-10-01 11:50:12 +02:00
Niels Dossche
7dd7ad843d
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-17345: Bug #35916 was not completely fixed
2025-10-01 11:50:05 +02:00
Niels Dossche
0ffa337a54
Fix GH-17345: Bug #35916 was not completely fixed
...
Change the reproducer code in `bug35916.phpt` from `stream_bucket_append` to
`stream_bucket_prepend` and you have the same bug.
Furthermore, even in the append case the check is incorrect because the bucket
can already be in the brigade at a position other than the tail.
To solve this properly, unlink the brigade first and also use that as a
condition to manage the refcount.
Closes GH-18973.
2025-10-01 11:49:28 +02:00
Jakub Zelenka
879d5e9b88
Merge branch 'PHP-8.4' into PHP-8.5
2025-10-01 11:14:27 +02:00
Jakub Zelenka
152dfa8835
Merge branch 'PHP-8.3' into PHP-8.4
2025-10-01 11:12:42 +02:00
Jakub Zelenka
b7fdfb7147
Fix GH-19248: Use strerror_r instead of strerror in main
...
Or on Windows it is going to use either FormatMessageW or strerror_s
for compatibility with previous error messages.
It also needs to accomodate for GNU and BSD versions of strerror_r
returning different type.
Closes GH-19251
2025-10-01 11:12:08 +02:00
David Carlier
ed9c1b87ee
Merge branch 'PHP-8.4' into PHP-8.5
2025-09-29 22:48:55 +01:00
David Carlier
03de7b0b28
Merge branch 'PHP-8.3' into PHP-8.4
2025-09-29 22:48:38 +01:00
David Carlier
93bac8cb1a
Fix GH-19922: gzopen() double free
...
close GH-19924
2025-09-29 22:47:29 +01:00
Daniel Scherzer
ea580760f0
Prepare for PHP 8.5.0RC1
2025-09-23 15:11:52 -04:00
Gina Peter Banyard
b4ed215299
core: Warn when non-representable floats are coerced to int ( #19760 )
...
RFC: https://wiki.php.net/rfc/warnings-php-8-5#casting_out_of_range_floats_to_int
2025-09-21 23:53:16 +01:00
Arnaud Le Blanc
ef9a89f7ec
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GH-19480: error_log php.ini cannot be unset when open_basedir is configured
2025-09-19 18:13:55 +02:00
Arnaud Le Blanc
938226083e
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-19480: error_log php.ini cannot be unset when open_basedir is configured
2025-09-19 14:16:48 +02:00
Niels Dossche
7a1bb71127
Fix GH-19480: error_log php.ini cannot be unset when open_basedir is configured
...
Since the ini message handlers already check for basedir, we need to
drop the basedir check from ini_set. Then we also fix the exceptional
case for the empty string: it should bypass the basedir check.
Furthermore, there was a regression introduced with the error_log
"syslog" check in ddfe269a (inverted check), so we fix that as well.
Closes GH-19487
2025-09-19 14:14:53 +02:00