1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 17:52:16 +01:00
Commit Graph

135568 Commits

Author SHA1 Message Date
Jakub Zelenka
324861bdc2 Update versions for PHP 8.3.20 php-8.3.20 2025-04-08 22:21:18 +02:00
DanielEScherzer
c45d608569 Add myself as ext/reflection codeowner [skip ci] 2025-03-25 11:20:12 -07:00
Ilija Tovilo
37e75a1c5f Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Backport intl test changes for ICU 77
2025-03-24 15:07:43 +01:00
Ilija Tovilo
d4c548cf42 Backport intl test changes for ICU 77
See GH-18125
See 8823f89a32
2025-03-24 15:07:14 +01:00
Derick Rethans
0c8a7a77a8 Updated to version 2025.2 (2025b) 2025-03-24 10:06:32 +00:00
Niels Dossche
071f707a6d [ci skip] Make sure opcache can output in these tests 2025-03-21 16:35:47 +01:00
Niels Dossche
8823f89a32 Fix intl tests for icu 77 (#18125) 2025-03-21 14:23:03 +01:00
Niels Dossche
2ec8d37eb4 Fix GH-18107: Opcache CFG jmp optimization with try-finally breaks the exception table
If there's a try-finally where the try_op starts on a basic block with a
single JMP, and the JMP optimization causes that basic block to become
unreachable, then we update try_op.
In this case, there is no catch_op, so try_op is erroneously set to 0,
we should instead set it to `b->start`.

Closes GH-18110.
2025-03-21 13:56:31 +01:00
Daniel Scherzer
fa3c1c81d5 Fix GH-17836: zend_vm_gen.php shouldn't break on Windows line endings
Closes GH-18121.
2025-03-21 11:50:34 +01:00
Niels Dossche
447d143b9d Fixed bug GH-13193 again
Closes GH-13193.
2025-03-21 11:47:52 +01:00
Remi Collet
7e6a36889c NEWS for #66049 2025-03-21 08:25:05 +01:00
Remi Collet
209f4c296e Fix #66049 Typemap can break parsing in parse_packet_soap leading to a segfault 2025-03-21 08:23:12 +01:00
Niels Dossche
2dde07af55 Fix memory leak when destroying PDORow
This should call zend_object_std_dtor() to clean the property table etc.
This also has a semantic influence because previously weak refs were not
notified for example.

This fixes the final issue in GH-18114 (the crash was master-only and
fixed already).

Closes GH-18114.
Closes GH-18123.
2025-03-20 23:13:42 +01:00
Niels Dossche
6af240d8da [ci skip] Fix NEWS order 2025-03-20 19:14:09 +01:00
Niels Dossche
e9c0296240 Fix GH-18112: NULL access with preloading and INI option
Preloading shutdown calls request shutdown which will deactivate the
virtual cwd state. However, further startup code still assumes the state
that was set by virtual_cwd_startup(). So we need to reactivate it
manually.

Creating a test was a bit difficult because the INI setting I wanted to
test this with is overridden by the test runner apparently.
To reproduce the issue, create an empty file test.php and execute this
in a ZTS build:
`php -d opcache.preload=./ext/opcache/tests/preload_class_alias_2.inc -d "error_log=" -d "allow_url_include=1" test.php`

Closes GH-18117.
2025-03-20 19:12:06 +01:00
Niels Dossche
d9329b1522 Fix xinclude destruction of live attributes
Follow-up for GH-17847 but now for attributes.

Closes GH-18100.
2025-03-18 22:01:56 +01:00
Arnaud Le Blanc
c531f3d79b Disable ZEND_RC_MOD_CHECK() while loading shared extension in FPM
This fixes a ZEND_RC_MOD_CHECK() assertion failure when building with
"-DZEND_RC_DEBUG=1 --enable-debug --enable-zts". php_dl() is called after
startup, and manipulates the refcount of persistent strings, which is not
allowed at this point of the lifecycle.

The dl() function disables the ZEND_RC_MOD_CHECK() assertion before calling
php_dl(). This change applies the same workaround in FPM.

Closes GH-18075
2025-03-17 17:40:05 +01:00
Jakub Zelenka
bd7d3c38ad Get rid of atime change testing in bug72666_variation3.phpt 2025-03-17 14:49:22 +01:00
Katherine456719
38e553e418 Fix GH-18082: Memory leaks in fuzzer SAPI error paths
Closes GH-18081.
2025-03-16 16:37:59 +01:00
David Carlier
005c7b5797 ext/intl: Fix Uconverter::transcode with substitutes as references.
close GH-18059
2025-03-15 11:37:08 +00:00
David Carlier
f34859cb90 ext/intl: Fix dateformat_format when the time is an array of references. 2025-03-15 11:33:17 +00:00
Arnaud Le Blanc
1c182674b0 Destroy temporary module classes in reverse order
We destroy classes of dl()'ed modules in clean_module_classes(), during
shutdown. Child classes of a module use structures of the parent class (such as
inherited properties), which are destroyed earlier, so we have a use-after-free
when destroying a child class.

Here I destroy classes in reverse order, as it is done in zend_shutdown() for
persistent classes.

Fixes GH-17961
Fixes GH-15367
2025-03-14 10:45:17 +01:00
Niels Dossche
a7d2703246 Correct check for maximum string length in JIT helpers
This is a bit of a theoretical issue, but the maximum string length is
actually ZSTR_MAX_LEN instead of SIZE_MAX. The resulting check is a bit
slower but should still be relatively cheap.

Closes GH-18049.
2025-03-13 23:47:45 +01:00
Jakub Zelenka
1158a1ef3b Merge branch 'PHP-8.2' into PHP-8.3 2025-03-13 22:28:53 +01:00
Jakub Zelenka
e144c58fb2 Merge branch 'PHP-8.1' into PHP-8.2 2025-03-13 22:25:53 +01:00
Jakub Zelenka
70c2ebb698 Fix typo in GHSA-hgf5-96fm-v528 NEWS entry 2025-03-13 22:24:49 +01:00
Niels Dossche
27affd8da1 Fix GH-18018: RC1 data returned from offsetGet causes UAF in ArrayObject
We should first check truthiness and only after that destroy the value.

Closes GH-18034.
2025-03-13 19:10:34 +01:00
Pierrick Charron
945f5b83f4 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Fix invalid release date of 8.1.1
2025-03-13 13:48:48 -04:00
Pierrick Charron
2003421454 [skip ci] Fix release dates on NEWS 2025-03-13 13:48:38 -04:00
Pierrick Charron
d9c0a49cba [skip ci] Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Fix invalid release date of 8.1.1
2025-03-13 13:47:22 -04:00
Pierrick Charron
c62523666c [skip ci] Fix invalid release date of 8.1.1 2025-03-13 13:45:08 -04:00
Pierrick Charron
54f93f127e [skip ci] Fix release date of 8.3.19 2025-03-13 13:14:37 -04:00
Ilija Tovilo
276c2a67ef Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix flaky connection count in mysqli test
2025-03-13 16:47:20 +01:00
Ilija Tovilo
f390425db3 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix flaky connection count in mysqli test
2025-03-13 16:46:03 +01:00
Ilija Tovilo
00ebd2d7f2 Fix flaky connection count in mysqli test
Use connection ID instead of count to check whether we're using a
persistent connection. This allows the test to be run in parallel with
the other tests, but also protects against the possibility that some
other service connects to the mysql server.

Closes GH-18040
2025-03-13 16:40:33 +01:00
Remi Collet
69480be12a Relax test expectation for pcre2lib 10.45 Using e92848789a
Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2025-03-13 07:46:18 +01:00
David Carlier
c3fc94c4b8 ext/intl: fix locale_compose/locale_lookup to be able to deal with references.
close GH-18035
2025-03-12 22:18:34 +00:00
Eric Mann
517d7d909d PHP-8.3 is now for PHP-8.3.20-dev 2025-03-12 06:34:55 -07:00
Kévin Dunglas
009b5e2bfd fix GH-8533: dynamic libphp linking on Mac
Pass the -dynamiclib flag to libtool to build
a valid Mac dylib.

Closes GH-8533.
2025-03-12 07:40:02 +01:00
Pierrick Charron
25887b350d Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  PHP-8.2 is now for PHP 8.2.29-dev
2025-03-11 18:32:58 -04:00
Pierrick Charron
b617b0832c PHP-8.2 is now for PHP 8.2.29-dev 2025-03-11 18:31:23 -04:00
Ben Ramsey
4d4205675a Merge branch 'PHP-8.2' into PHP-8.3 2025-03-11 16:43:07 -05:00
Ben Ramsey
b6d61f5ec0 Merge branch 'PHP-8.1' into PHP-8.2 2025-03-11 16:42:29 -05:00
Ben Ramsey
858c378930 PHP-8.1 is now for PHP 8.1.33-dev 2025-03-11 16:34:23 -05:00
Ilija Tovilo
ef2c459941 Use-after-free for ??= due to incorrect live-range calculation
Fixes GHSA-rwp7-7vc6-8477
2025-03-11 22:10:21 +01:00
Jakub Zelenka
acf2f4988a Merge branch 'PHP-8.2' into PHP-8.3 2025-03-11 22:09:00 +01:00
Jakub Zelenka
4af1830356 Merge branch 'PHP-8.1' into PHP-8.2 2025-03-11 21:57:33 +01:00
Jakub Zelenka
74d548bf58 Update NEWS with entries for security fixes 2025-03-11 21:50:17 +01:00
Niels Dossche
0e715e71d9 Fix GHSA-wg4p-4hqh-c3g9 2025-03-11 21:50:17 +01:00
Tim Düsterhus
b6004a043c Fix GHSA-p3x9-6h7p-cgfc: libxml streams wrong content-type on redirect
libxml streams use wrong content-type header when requesting a
redirected resource.
2025-03-11 21:50:17 +01:00