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

140973 Commits

Author SHA1 Message Date
Ilija Tovilo
b97dd3318d Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix expected output for bug52820.phpt
2026-03-19 13:18:54 +01:00
Ilija Tovilo
551809576b Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix expected output for bug52820.phpt
2026-03-19 13:18:36 +01:00
Ilija Tovilo
b8b5fb074d Fix expected output for bug52820.phpt
Newer versions of curl seem to omit the "Closing connection ..." message. Make
the entire line optional.
2026-03-19 13:15:57 +01:00
Rasmus Lerdorf
1a79ea47c5 Fix GH-21411: opcache_compile_file() fails to early-bind classes without parents (#21412) 2026-03-19 11:12:45 +03:00
ndossche
ae863ea4f8 [ci skip] Update JIT news
Closes GH-21395.
2026-03-17 08:53:10 +01:00
ndossche
8796d75365 Fix GH-21454: Missing write lock validation in SplHeap
Closes GH-21448.
2026-03-17 08:47:20 +01:00
Dmitry Stogov
a5637221ee Update IR (#21462)
IR commit: 7fed7999743ba6a5ffc5535e786725d5577f6f34
2026-03-16 22:55:03 +03:00
Ilia Alshanetsky
e1a3a4c9a4 Fix GH-21267: JIT infinite loop on FETCH_OBJ_R with IS_UNDEF property (#21368)
When the JIT defers the IS_UNDEF check for FETCH_OBJ_R to the result
type guard, the deoptimization escape path dispatches to opline->handler
via the trace_escape stub. If opline->handler has been overwritten with
JIT code (e.g. a function entry trace), this creates an infinite loop.

Fix by dispatching to the original VM handler (orig_handler from the
trace extension) instead of going through the trace_escape stub. This
avoids the extra IS_UNDEF guard on every property read while correctly
handling the rare IS_UNDEF case during deoptimization.

Also set current_op_array in zend_jit_trace_exit_to_vm so that the
blacklisted exit deoptimizer can resolve orig_handler, covering the
case where side trace compilation is exhausted.

Closes GH-21368.
2026-03-16 21:31:49 +03:00
David Carlier
e257c086bb ext/gd: phpinfo() to be able to display libjpeg 10.0 support.
Fix #21431

Co-Authored-By: rainerjung

close GH-21432
2026-03-14 18:23:35 +00:00
ndossche
b95f0ebc47 ext/zip: Fix const-generic compile warning 2026-03-14 15:06:57 +01:00
ndossche
9150226166 [ci skip] NEWS for GH-20838 2026-03-12 22:04:08 +01:00
Ilia Alshanetsky
7950482562 Fix GH-21083: Skip private_key_bits validation for EC/curve-based keys
openssl_pkey_new() checks private_key_bits >= 384 before generating any
key. For EC, X25519, ED25519, X448, and ED448 the size is inherent to
the curve or algorithm, so this check doesn't apply and causes failures
when default_bits is missing from openssl.cnf (which is the case in
OpenSSL 3.6's default config).

Skip the minimum-bits check for key types that don't use private_key_bits.

Closes GH-21387.
2026-03-12 21:53:22 +01:00
ndossche
284fd7779d Fix GH-21357: XSLTProcessor works with DOMDocument, but fails with Dom\XMLDocument
Registering namespace after the parsing is too late because parsing can
fail due to attributes referencing namespaces.
So we have to register fake namespaces before the parsing.
However, the clone operation reconciles namespaces in the wrong way, so
we have to clone via an object.

Closes GH-21371.
2026-03-11 22:31:03 +01:00
Ilia Alshanetsky
80dc4c19d6 Fix GH-20838: JIT compiler produces wrong arithmetic results (#21383)
Insert type guards (CHECK_OP1_TRACE_TYPE / CHECK_OP2_TRACE_TYPE) on the
sensitive bailout paths in ADD/SUB/MUL JIT compilation: the MAY_BE_UNDEF
and non-numeric operand breaks. Guards are only emitted when the traced
operand type is IS_LONG or IS_DOUBLE, ensuring TSSA result type
predictions stay valid for side traces without affecting the normal
numeric fast path.


Fixes GH-20838

Co-authored-by: Dmitry Stogov <dmitrystogov@gmail.com>
2026-03-11 15:22:50 +03:00
David Carlier
1b61d555fb ext/soap: Fix wrong cookie options offset calculation, using separator offset instead.
The cookie option parser uses a wrong offset to start scanning
attributes, causing cookie values containing substrings like
"path=" or "domain=" to be falsely matched as attributes.

close GH-21400
2026-03-10 21:58:52 +00:00
ndossche
c4c1261196 soap: Fix const violation 2026-03-10 21:06:20 +01:00
ndossche
ae0bf447b4 soap: Fix const-generic compile warning 2026-03-10 20:51:51 +01:00
ndossche
ea8aab9220 Fix memory leak in shm_get_var() when variable is corrupted
This path wasn't tested (clearly).
To trigger this we use FFI, which seemed like the easiest way that
doesn't involve using another process messing with the shared memory.

Closes GH-21388.
2026-03-10 20:30:02 +01:00
ndossche
3073948885 Revert "ext/session: Fix memory leak due to multiple exception happening during session abort"
This reverts commit 0acde11945.

The patch is incorrect as described in GH-21200 in the post-merge
comments.
2026-03-10 20:28:47 +01:00
武田 憲太郎
35d98cb6ce ext/pgsql: Fix preprocessor guard typo that silently disabled a feature
Fix `PQTRACE_SUPPRESS_TIMESTAMPS` guard misspelling in pgsql.stub.php.

The guard has been misspelled as `PQTRACE_SUPPPRESS_TIMESTAMPS`
(three P's) since 7ec8ae12c4, preventing the
`PGSQL_TRACE_SUPPRESS_TIMESTAMPS` constant from being registered.

close GH-21386
2026-03-09 07:41:04 +00:00
Gina Peter Banyard
0acde11945 ext/session: Fix memory leak due to multiple exception happening during session abort
Closes GH-21200

Co-authored-by: arshidkv12 <arshidkv12@gmail.com>
2026-03-07 13:28:42 +00:00
Jakub Zelenka
6d97fd660c Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Remove XFAIL for proc-idle-timeout.phpt
2026-03-07 13:15:26 +01:00
Jakub Zelenka
2379e3479a Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Remove XFAIL for proc-idle-timeout.phpt
2026-03-07 13:14:34 +01:00
Jakub Zelenka
04023e5e72 Remove XFAIL for proc-idle-timeout.phpt 2026-03-07 13:11:37 +01:00
Jakub Zelenka
6d97ed57d6 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Add back FPM_RUN_RESOURCE_HEAVY_TESTS
2026-03-07 13:07:57 +01:00
Jakub Zelenka
1683e01391 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Add back FPM_RUN_RESOURCE_HEAVY_TESTS
2026-03-07 13:07:17 +01:00
Jakub Zelenka
71a01794cc Add back FPM_RUN_RESOURCE_HEAVY_TESTS 2026-03-07 13:05:32 +01:00
Ilija Tovilo
e8e6f900cd Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [skip ci] Mark sapi/fpm/tests/proc-idle-timeout.phpt as XFAIL
2026-03-07 12:42:39 +01:00
Ilija Tovilo
37bee6ef4c Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Mark sapi/fpm/tests/proc-idle-timeout.phpt as XFAIL
2026-03-07 12:42:21 +01:00
Ilija Tovilo
3902f843f7 [skip ci] Mark sapi/fpm/tests/proc-idle-timeout.phpt as XFAIL
This test fails all the time. It should be improved.
2026-03-07 12:41:52 +01:00
Yannis
c3777c73b3 Update ext/standard/libavifinfo
Fixes GH-20627.
Closes GH-21250.
2026-03-07 11:17:56 +01:00
Remi Collet
fb80f35fdc zip is now 1.22.8 2026-03-06 09:54:32 +01:00
David Carlier
41458c6ad6 Fix GH-21336: undefined behavior in snmp setSecurity.
close GH-21337
2026-03-05 18:48:39 +00:00
Ilija Tovilo
94853b6da3 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Backport .github changes for Solaris
2026-03-04 10:11:17 +01:00
Ilija Tovilo
eee7c0aee1 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Backport .github changes for Solaris
2026-03-04 10:11:11 +01:00
Ilija Tovilo
c21af8c598 Backport .github changes for Solaris 2026-03-04 10:11:00 +01:00
Ilija Tovilo
2fb1411eac Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix enabling of opcache in benchmark job in older branches
2026-03-04 00:35:32 +01:00
Ilija Tovilo
70bb94c4b6 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix enabling of opcache in benchmark job in older branches
2026-03-04 00:35:25 +01:00
Ilija Tovilo
7324cd7f21 Fix enabling of opcache in benchmark job in older branches
8.4 still needs a zend_extension=opcache.so in the ini file.

Closes GH-21332
2026-03-04 00:35:19 +01:00
Nora Dossche
583be5a8ca Fix compile warnings under GCC 15.2.1 (#21320)
The compiler now infers constness through string functions.
Adhere to that.
It also now warns about using multiplications in conditions.
2026-03-02 23:12:06 +01:00
Derick Rethans
04897559f0 Updated to version 2026.1 (2026a) 2026-03-02 18:17:14 +00:00
Derick Rethans
9daecc18e0 Empty merge
* PHP-8.3:
  Updated to version 2026.1 (2026a)
2026-03-02 18:17:14 +00:00
Derick Rethans
f437b39060 Updated to version 2026.1 (2026a) 2026-03-02 18:17:13 +00:00
Nora Dossche
4e831236f8 Fix pcre leak test (#21327)
We need an uninterned string to trigger the leak. The loop is also
unnecessary.
2026-03-02 18:51:29 +01:00
Ilija Tovilo
e78f0d149e Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [skip ci] Reorder lines
2026-03-02 03:38:21 +01:00
Ilija Tovilo
491bf86b09 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Reorder lines
2026-03-02 03:38:17 +01:00
Ilija Tovilo
e140485178 [skip ci] Reorder lines
Makes slightly more sense, even though order is irrelevant.
2026-03-02 03:37:46 +01:00
Ilija Tovilo
1553242e56 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [CI][skip ci] Fix TEST job failure when no branches changed
2026-03-02 03:35:34 +01:00
Ilija Tovilo
ecb226c049 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [CI][skip ci] Fix TEST job failure when no branches changed
2026-03-02 03:35:29 +01:00
Ilija Tovilo
53c718c142 [CI][skip ci] Fix TEST job failure when no branches changed 2026-03-02 03:34:34 +01:00