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

139429 Commits

Author SHA1 Message Date
Ilija Tovilo
dfdf52eb9f Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Increase CircleCI no_output_timeout
2025-03-10 13:38:16 +01:00
Ilija Tovilo
cfc7652a28 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Increase CircleCI no_output_timeout
2025-03-10 13:38:01 +01:00
Ilija Tovilo
9842508580 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Increase CircleCI no_output_timeout
2025-03-10 13:37:46 +01:00
Ilija Tovilo
ee7fcf2a07 Increase CircleCI no_output_timeout
Closes GH-18002
2025-03-10 13:37:24 +01:00
Ilija Tovilo
3b9b26f760 Merge branch 'PHP-8.3' into PHP-8.4 2025-03-10 11:28:43 +01:00
Ilija Tovilo
33c75d98c9 Merge branch 'PHP-8.2' into PHP-8.3 2025-03-10 11:28:29 +01:00
Ilija Tovilo
d6172ce37a [skip ci] Ignore snmp test on asan that frequently times out
Not sure why this happens only on master.

Cherry-picked from becf207d0c
No longer happens just on master. ;)
2025-03-10 11:24:27 +01:00
Niels Dossche
aa6e58f82a Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix weird unpack behaviour in DOM
  Fix GH-17989: mb_output_handler crash with unset http_output_conv_mimetypes
2025-03-09 11:21:27 +01:00
Niels Dossche
9be9f70caa Fix weird unpack behaviour in DOM
Engine pitfall: the iter index is only updated by foreach opcodes, so
the existing code that used it as an index for the nodes w.r.t. the
start did not work properly. Fix it by using our own counter.

Closes GH-18004.
2025-03-09 11:17:03 +01:00
Niels Dossche
c7d3dc6fab Fix GH-17989: mb_output_handler crash with unset http_output_conv_mimetypes
The INI option can be NULL or invalid, resulting in a NULL global.
So we have to add a NULL check.

Closes GH-17996.
2025-03-09 11:16:33 +01:00
Ilija Tovilo
efb08feb85 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Suppress snmp lib memory leak, skip ASAN tests
2025-03-08 16:12:24 +01:00
Ilija Tovilo
d6ee360f7b Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Suppress snmp lib memory leak, skip ASAN tests
2025-03-08 16:12:17 +01:00
Ilija Tovilo
084446418f Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Suppress snmp lib memory leak, skip ASAN tests
2025-03-08 16:11:33 +01:00
Ilija Tovilo
b0858427aa Suppress snmp lib memory leak, skip ASAN tests
I don't know enough about this library to fix those :(

Cherry-picked from:
be4db6b550
ba1d9d0ab2
2025-03-08 16:10:59 +01:00
Ilija Tovilo
8254e8de31 Fix lazy proxy calling set hook twice
Writing to an uninitialized lazy proxy will initialize the underlying
object and then call zend_std_write_property() on it. If this happens
inside a hook, zend_std_write_property() should not call the hook again
but directly write to the property slot. This didn't previously work
because zend_should_call_hook() would compare the parent frame
containing the proxy to the underlying object. This is now handled
explicitly.

Fixes GH-18000
Closes GH-18001
2025-03-08 12:38:27 +01:00
Ilija Tovilo
9acfe6e11c Fix skipped lazy init on primed SIMPLE_WRITE
Go through the normal assignment path, which includes an IS_UNDEF check.

Fixes GH-17998
Closes GH-17999
2025-03-08 12:32:18 +01:00
Ilija Tovilo
868959350f Fix incorrect handling of hooked props without get hook in get_object_vars()
Fixes GH-17988
Closes GH-17997
2025-03-08 12:27:28 +01:00
Niels Dossche
8950c241b3 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix uninitialized memory accesses in DOM iterator
2025-03-08 11:12:34 +01:00
Niels Dossche
2634622d3d Fix uninitialized memory accesses in DOM iterator 2025-03-08 11:12:24 +01:00
Niels Dossche
38e8725bec Fix GH-17941: Stack-use-after-return with lazy objects and hooks
zend_std_write_property() can return the variable pointer, but the code
was using a local variable, and so a pointer to a local variable could
be returned. Fix this by using the value pointer instead of the backup
value was written.
This can be more efficient on master by using the safe_assign helper.

Closes GH-17947.
2025-03-08 00:00:01 +01:00
Niels Dossche
6083dc09a3 Fix GH-17991: Assertion failure dom_attr_value_write
Closes GH-17995.
2025-03-07 22:43:38 +01:00
David Carlier
6004063206 Merge branch 'PHP-8.3' into PHP-8.4 2025-03-07 18:31:14 +00:00
David Carlier
fc09eb21db [skip ci] fix NEWS entry 2025-03-07 18:31:00 +00:00
David Carlier
bc55177832 Merge branch 'PHP-8.3' into PHP-8.4 2025-03-07 18:07:48 +00:00
David Carlier
07ceadf7d9 Fix GH-17984: gd calls with array arguments.
close GH-17985
2025-03-07 18:07:14 +00:00
Dmitry Stogov
1b9d659c3f Fix register allocarion for result of ASSIGN_OBJ (#17994)
This fixes few failures in Symfony unit tests with function JIT
2025-03-07 19:28:51 +03:00
Calvin Buckley
7634484dc2 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Remove "Notify Slack" on ppc nightly workflow (#17993)
2025-03-07 10:40:01 -04:00
Calvin Buckley
5942a611e4 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Remove "Notify Slack" on ppc nightly workflow (#17993)
2025-03-07 10:39:48 -04:00
Calvin Buckley
23c68045b4 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Remove "Notify Slack" on ppc nightly workflow (#17993)
2025-03-07 10:39:35 -04:00
Calvin Buckley
5e8aff2c5f Remove "Notify Slack" on ppc nightly workflow (#17993)
We get weird failures at here, and Ilija was talking about possibly
removing it in general.
2025-03-07 10:39:14 -04:00
Dmitry Stogov
5885b9490c Fix function JIT for Wordpress unit tests 2025-03-07 02:30:30 +03:00
Niels Dossche
bac1ed6579 Add test for GH-17966
This was fixed via https://github.com/dstogov/ir/pull/109 which was
merged in cc70838dc9.
2025-03-06 21:55:53 +01:00
Dmitry Stogov
cc70838dc9 Merge IR
IR commit: 0441281e95ce9736131eddc71ce666389dcccd4b
2025-03-06 23:00:53 +03:00
Niels Dossche
f6c2e40a11 Fix GH-15834: Segfault with hook "simple get" cache slot and minimal JIT
The FETCH_OBJ_R VM handler has an optimization that directly enters into
a hook if it is a simpler getter hook. This is not compatible with the
minimal JIT because the minimal JIT will try to continue executing the
opcodes after the FETCH_OBJ_R.
To solve this, we check whether the opcode is still the expected one
after the execution of the VM handler. If it is not, we know that we are
going to execute a simple hook. In that case, exit to the VM.

Closes GH-17909.
2025-03-06 19:37:21 +01:00
Ilija Tovilo
4d5a88c7fc Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Upgrade security branches to Ubuntu 22.04
2025-03-06 15:25:24 +01:00
Ilija Tovilo
01c1dbb349 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Upgrade security branches to Ubuntu 22.04
2025-03-06 15:25:16 +01:00
Ilija Tovilo
1009ff65cc Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Upgrade security branches to Ubuntu 22.04
2025-03-06 15:24:35 +01:00
Ilija Tovilo
5fcc8d4cd1 Upgrade security branches to Ubuntu 22.04
20.04 goes out of security support in 2 months. Backporting various
commits.

See d98963a071
See af721c9c36
See 378b79b90c

Closes GH-17963
2025-03-06 15:24:15 +01:00
Ilija Tovilo
253c579c25 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix flaky DatePeriod test
2025-03-06 15:04:29 +01:00
Ilija Tovilo
a840a54fbc Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix flaky DatePeriod test
2025-03-06 15:04:18 +01:00
Ilija Tovilo
9256ee7b1b Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix flaky DatePeriod test
2025-03-06 15:04:08 +01:00
Ilija Tovilo
8a699372f2 Fix flaky DatePeriod test
$start and $end use the H:i:s from the current time. If $end happens on
a second boundary, $start + 4 days will include $end, thus performing an
extra iteration. Fix this by setting H:i:s to 00:00:00.
2025-03-06 15:01:30 +01:00
Niels Dossche
75cca9f19e Fix memory leaks in array_any() / array_all()
The return value is overwritten, but if the key was not an interned
string we should destroy it.

Closes GH-17977.
2025-03-05 19:52:16 +01:00
Calvin Buckley
b2e49c80bf Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Skip mysqli/tests/bug73462 on PPC CI (#17971)
2025-03-05 10:20:19 -04:00
Calvin Buckley
a30a41af78 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Skip mysqli/tests/bug73462 on PPC CI (#17971)
2025-03-05 10:19:52 -04:00
Calvin Buckley
1afbaaa804 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Skip mysqli/tests/bug73462 on PPC CI (#17971)
2025-03-05 10:18:41 -04:00
Calvin Buckley
dc6586dd9d Skip mysqli/tests/bug73462 on PPC CI (#17971)
* Skip this test on PPC CI

Seems to be unfortunately flaky with persistent connections.

* use spaces in phpt file
2025-03-05 10:17:39 -04:00
Ilija Tovilo
2076ab1248 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Upgrade i386 branch to Ubuntu 22.04
2025-03-03 23:24:21 +01:00
Ilija Tovilo
294888053a Upgrade i386 branch to Ubuntu 22.04 2025-03-03 22:15:23 +01:00
Dmitry Stogov
f016caa312 Merge IR
IR commit: 1a02c4819f210a1f4548b83850ed7cd5c76c13aa
2025-03-03 23:48:08 +03:00