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

140987 Commits

Author SHA1 Message Date
David Carlier
97bb48ec2e ext/ffi: Fix resource leak in FFI::cdef() on symbol resolution failure.
and remove duplicate conditions in read/write field handlers.
close GH-21446
2026-03-22 21:55:13 +00:00
ndossche
c920daa7ec Fix GH-21486: Dom\HTMLDocument parser mangles xml:space and xml:lang attributes
Closes GH-21489.
2026-03-22 09:57:26 +01:00
Ilija Tovilo
c52cfaf88b Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [skip ci] Harden bug74093.phpt
2026-03-22 01:56:38 +01:00
Ilija Tovilo
bc8a95e4fb Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Harden bug74093.phpt
2026-03-22 01:56:32 +01:00
Ilija Tovilo
486c09cd68 [skip ci] Harden bug74093.phpt
Rarely fails with "Maximum execution time of 1 seconds exceeded" due to being
too fast. Increase the compared arrays and mark as FLAKY, given this is
inherently dependent on processing speed.
2026-03-22 01:54:55 +01:00
Ilija Tovilo
6fd46f12f5 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [skip ci] Fix CLEAN for phar_extract2.phpt
2026-03-22 00:42:59 +01:00
Ilija Tovilo
eca83d2baf Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Fix CLEAN for phar_extract2.phpt
2026-03-22 00:42:54 +01:00
Ilija Tovilo
0f544b0406 [skip ci] Fix CLEAN for phar_extract2.phpt
extract1/ is not created by this test, but by phar_extract.phpt, which can lead
to a very rare race condition.
2026-03-22 00:41:37 +01:00
ndossche
f92d54b6b5 openssl: Fix missing error propagation for BIO_printf() calls
Since these go through a file, this can fail.
For some of these, the error is already checked but not propagated to
userland, causing a "true" return value but an incomplete file.
For others, the error is not checked and can also lead to an incomplete
file.
Solve this by always propagating failure, especially as the other write
calls are already checked for failure.

Closes GH-21360.
2026-03-21 10:35:34 +01:00
Ilia Alshanetsky
9ec303edde Fix GH-20875: Propagate IN_GET guard in get_property_ptr_ptr for lazy proxies
zend_std_get_property_ptr_ptr() was the only property handler that did
not propagate the IN_GET guard to the underlying object when forwarding
from a lazy proxy after initialization. This caused __get to be called
on the underlying object when it shouldn't be, leading to assertion
failures.

The same guard-copying pattern already existed in read_property,
write_property, unset_property, and has_property since commit
26f5009e91 (GH-18039).

Also fixes GH-20873 and GH-20854.

Closes GH-20875
2026-03-20 15:44:21 +01:00
Ilija Tovilo
69b455c89e Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Use default branch for symfony/laravel when possible
  Fix Laravel build for PHP 8.2
2026-03-20 14:50:02 +01:00
Ilija Tovilo
d1c39a5bd9 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Use default branch for symfony/laravel when possible
  Fix Laravel build for PHP 8.2
2026-03-20 14:49:54 +01:00
Ilija Tovilo
272cf1fb2d Use default branch for symfony/laravel when possible
This way we don't have to keep bumping when new branches release, we just need
to pin to old versions when incompatibilities pop up.
2026-03-20 13:32:42 +01:00
Ilija Tovilo
183d2a617f Fix Laravel build for PHP 8.2
Laravel 13.x dropped support for PHP 8.2. Fall back to 12.x for 8.2.

Closes GH-21473
2026-03-20 13:14:43 +01:00
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