1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Commit Graph

144588 Commits

Author SHA1 Message Date
Niels Dossche
ac4e3cdec0 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-18139: Memory leak when overriding some settings via readline_info()
2026-01-02 13:04:44 +01:00
Niels Dossche
d9b02e43c3 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix GH-18139: Memory leak when overriding some settings via readline_info()
2026-01-02 13:04:35 +01:00
Niels Dossche
30ed81314b Fix GH-18139: Memory leak when overriding some settings via readline_info()
The reason why freeing was not done yet is because the pointer in these
variables may be:
- Static data set by the readline/libedit library initially, not heap
  data.
- Data set by another thread. Although the libraries appear to be not
  thread-safe anyway.

To solve this, introduce some TLS variables to hold a pointer for us
when we override the settings, such that we can free them and are
certain they are allocated by us.

Closes GH-20794.
2026-01-02 13:04:13 +01:00
David Carlier
8c4f806fe8 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-20802: undefined behavior with invalid SNI_server_certs options.
2026-01-01 21:10:33 +00:00
David Carlier
b6a3852b31 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix GH-20802: undefined behavior with invalid SNI_server_certs options.
2026-01-01 21:09:01 +00:00
David Carlier
cdcc0c2cd8 Fix GH-20802: undefined behavior with invalid SNI_server_certs options.
close GH-20803
2026-01-01 21:08:35 +00:00
Jakub Zelenka
e49be5f8e2 Allow filtered streams to be casted as fd for select
This removes the artificial limitation that is not necessary. The fact
that some streams can have some data buffered is not a problem because
the similar situation is already present for OpenSSL streams where
OpenSSL can internally buffer data for the unprocessed part of the
record.

Closes GH-20540
2026-01-01 20:51:23 +01:00
Ben Ramsey
241e43f2d8 Merge branch 'PHP-8.5' 2025-12-31 17:06:33 -06:00
Ben Ramsey
94087c084c Merge branch 'PHP-8.4' into PHP-8.5 2025-12-31 17:06:12 -06:00
Ben Ramsey
6e8f06f62a Merge branch 'PHP-8.3' into PHP-8.4 2025-12-31 17:04:55 -06:00
Ben Ramsey
604aec3956 Merge branch 'PHP-8.2' into PHP-8.3 2025-12-31 17:04:22 -06:00
Ben Ramsey
8c303713f1 Merge branch 'PHP-8.1' into PHP-8.2 2025-12-31 17:03:58 -06:00
Ben Ramsey
6f82565f12 PHP 8.1 is now end-of-life 2025-12-31 16:58:52 -06:00
Calvin Buckley
9170c4b2f8 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix skipif for mkfifo usage in gh20582.phpt (#20804)
2025-12-31 13:06:02 -04:00
Calvin Buckley
8b0310afdc Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix skipif for mkfifo usage in gh20582.phpt (#20804)
2025-12-31 13:05:52 -04:00
Calvin Buckley
6ceb887dc2 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix skipif for mkfifo usage in gh20582.phpt (#20804)
2025-12-31 13:05:27 -04:00
Calvin Buckley
bd484ed65f Fix skipif for mkfifo usage in gh20582.phpt (#20804)
Makes it like ext/standard/tests/file/filetype_variation.phpt; it's not
just Windows that can have a missing posix_mkfifo, but also a minimal
build, like the ones suggested that RMs test with (using --disable-all).
2025-12-31 13:04:09 -04:00
David Carlier
b56b8d0967 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-20767: build failure with preserve_none attribute enabled on mac.
2025-12-31 11:15:14 +00:00
David Carlier
95a83956a4 Fix GH-20767: build failure with preserve_none attribute enabled on mac.
Established that build < 1700.4.4.1 tends to fail thus we disable the
preserve_none attribute feature for these cases.

close GH-20777
2025-12-31 11:14:18 +00:00
Arnaud Le Blanc
6487049988 Merge branch 'PHP-8.5'
* PHP-8.5:
  Make preserve_none check lto compatible
2025-12-31 11:39:17 +01:00
henderkes
02a6fecb97 Make preserve_none check lto compatible
Fixes GH-20806
Closes GH-20810
2025-12-31 11:38:21 +01:00
Weilin Du
4f793ba1c3 [skip ci] Fix duplicate words typos (GH-20800) 2025-12-31 02:22:09 +01:00
Daniel Scherzer
bc15a0dd4c Merge branch 'PHP-8.5'
* PHP-8.5:
  PHP-8.5 is now for PHP 8.5.3-dev
2025-12-30 14:29:04 -08:00
Daniel Scherzer
daf4d54610 PHP-8.5 is now for PHP 8.5.3-dev 2025-12-30 14:27:29 -08:00
Jakub Zelenka
ab5c2a826a Use long conversion for stream context keepalive int values (#20805)
This is consistent with http and ssl wrappers where int values
are converted in this way.
2025-12-30 22:08:35 +01:00
Calvin Buckley
0578279fed Merge branch 'PHP-8.5'
* PHP-8.5:
  PHP 8.4 is now for PHP 8.4.18-dev
2025-12-30 16:56:03 -04:00
Calvin Buckley
21706fad8d Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  PHP 8.4 is now for PHP 8.4.18-dev
2025-12-30 16:55:41 -04:00
Jakub Zelenka
c0be847a7e Prevent possible future precedence issues in PHP_SOCKVAL_IS_SET 2025-12-30 18:56:57 +01:00
Calvin Buckley
5726e53b39 PHP 8.4 is now for PHP 8.4.18-dev 2025-12-30 13:07:11 -04:00
Jakub Zelenka
0fd8aae6e8 Fix TCP_KEEPALIVE no inheriting for accepted sockets on MacOS 2025-12-30 16:53:22 +01:00
Jakub Zelenka
9582d8e6d7 Add stream socket keepalive context options
This adds so_keepalive, tcp_keepidle, tcp_keepintvl and tcp_keepcnt
stream socket context options that are used to set their upper case
C macro variants by setsockopt function.

The test requires sockets extension and just tests that the values are
being set. This is because a real test would be slow and difficult to
show that those options really work due to how they work internally.

Closes GH-20381
2025-12-30 16:52:22 +01:00
Jakub Zelenka
bd8da04def Merge branch 'PHP-8.5'
* PHP-8.5:
  PHP-8.3 is now for PHP-8.3.31
2025-12-30 13:16:27 +01:00
Jakub Zelenka
a403afab65 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  PHP-8.3 is now for PHP-8.3.31
2025-12-30 13:16:00 +01:00
Jakub Zelenka
5ee2add76b Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  PHP-8.3 is now for PHP-8.3.31
2025-12-30 13:15:22 +01:00
Jakub Zelenka
404b4c816a PHP-8.3 is now for PHP-8.3.31 2025-12-30 13:14:00 +01:00
Bob Weinand
434b14e4a3 Merge branch 'PHP-8.5' 2025-12-29 21:30:42 +01:00
Bob Weinand
f754ffa8b2 Fixed bug GH-20745 ("Casting out of range floats to int" applies to strings) (#20746)
This reverts the warning for float-strings, to whose it never should have been applied in the first place.
2025-12-29 21:29:08 +01:00
Alexandre Daubois
b6a89b5b57 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix variable assignment for PHP argument escaping in `run-tests.php` (#20799)
2025-12-29 14:50:51 +01:00
Alexandre Daubois
de61d83b0a Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix variable assignment for PHP argument escaping in `run-tests.php` (#20799)
2025-12-29 14:50:34 +01:00
Alexandre Daubois
edf4cc40bd Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix variable assignment for PHP argument escaping in `run-tests.php` (#20799)
2025-12-29 14:50:19 +01:00
Sharad Chandran R
7effcab2cf Fix variable assignment for PHP argument escaping in run-tests.php (#20799) 2025-12-29 14:49:21 +01:00
Niels Dossche
04bf2e5c4a Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-19962: arrayIndexThenCheck static analysis warning in firebird
2025-12-28 13:09:18 +01:00
Niels Dossche
4f9a39ea78 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix GH-19962: arrayIndexThenCheck static analysis warning in firebird
2025-12-28 13:09:13 +01:00
Niels Dossche
29e04acc6f Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-19962: arrayIndexThenCheck static analysis warning in firebird
2025-12-28 13:09:05 +01:00
Niels Dossche
bae78c614a Fix GH-19962: arrayIndexThenCheck static analysis warning in firebird
Same as ce534c612b.
2025-12-28 13:08:40 +01:00
Niels Dossche
e6906dbca6 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-19961: Static analysis arrayIndexThenCheck warning in firebird (#20790)
2025-12-28 13:04:40 +01:00
Niels Dossche
576d61493b Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix GH-19961: Static analysis arrayIndexThenCheck warning in firebird (#20790)
2025-12-28 13:04:34 +01:00
Niels Dossche
fa8bb98ec0 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-19961: Static analysis arrayIndexThenCheck warning in firebird (#20790)
2025-12-28 13:04:27 +01:00
Niels Dossche
ce534c612b Fix GH-19961: Static analysis arrayIndexThenCheck warning in firebird (#20790)
Static analysis reports that the bounds check comes after reading the
byte from the buffer.
In practice, this is tagged data that loops until the end tag is found
and therefore there isn't really a bug. The extra length check is only
there for extra hardening.
So we simply silence the static analysers and improve the hardening.

See also https://docwiki.embarcadero.com/InterBase/15/en/Isc_dsql_sql_info()
2025-12-28 13:04:16 +01:00
Niels Dossche
ecbdd2b580 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix zlib test for 8.5+
2025-12-28 01:32:27 +01:00