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

138287 Commits

Author SHA1 Message Date
Niels Dossche
c77a1291d6 Don't use recursion when transferring a DOM internal document pointer (#16180)
Recursion is typically slower than iteration, and furthermore, this can
cause problems in theory with deep trees.
2024-10-03 07:56:12 +02:00
DanielEScherzer
8b8a6733d1 ext/reflection: fix some typos [skip ci] (#16183) 2024-10-03 07:55:25 +02:00
Gina Peter Banyard
524f6dfb19 ext/ldap: Use zend_string_equals() API 2024-10-02 23:22:34 +01:00
Gina Peter Banyard
355f320a27 ext/ldap: Use HashTable* for controls 2024-10-02 23:22:34 +01:00
Niels Dossche
a165f1fffc Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-15169: stack overflow when var serialization in ext/standard/var
2024-10-02 21:32:50 +02:00
Niels Dossche
577eb68212 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-15169: stack overflow when var serialization in ext/standard/var
2024-10-02 21:32:20 +02:00
Niels Dossche
bd724bdf42 Fix GH-15169: stack overflow when var serialization in ext/standard/var
Adding a stack check here as I consider serialization to be a more
sensitive place where erroring out with an exception seems appropriate.

Closes GH-16159.
2024-10-02 21:30:59 +02:00
Dmitry Stogov
3f913c123a Implement JIT for ZEND_FETCH_STATIC_PROP_* and improve interpretation (#16157)
* Implement JIT for ZEND_FETCH_STATIC_PROP_* and improve interpretation

* Revert incorrect change

* Use FASTCALL calling convention

* Use EMPTY_SWITCH_DEFAULT_CASE

* Move the loading of the property info into zend_jit_uninit_static_prop()
2024-10-02 21:02:33 +03:00
Dmitry Stogov
83bbf4b339 Merge branch 'PHP-8.4'
* PHP-8.4:
  Improve JIT TRACE coverage (#16171)
2024-10-02 19:27:52 +03:00
Dmitry Stogov
ddc49153f1 Improve JIT TRACE coverage (#16171)
Now it's possible that PHP tracing JIT loses some parts of the "hot"
code. In case we have a root LOOP trace with an inlined call of some
function, and we get a SIDE exit inside that function - we recorded a
side trace, but finished it a the RETURN of the inlined function. As
result the opcodes betwee RETURN from SIDE trace and LOOP exit were not
covered by tracer and were executed in interpreter.

This patch introduces a "ret_depth" argument that prevents stopping
tracing on RETURN of such SIDE trace.
2024-10-02 19:27:31 +03:00
Gina Peter Banyard
d7bdf902e5 ext/phar: Remove phar_resolve_alias() (#15860)
As this is unused and a SourceGraph search returns 0 result
2024-10-02 15:44:05 +01:00
Arnaud Le Blanc
e504df830c Merge branch 'PHP-8.4'
* PHP-8.4:
  [ci skip] NEWS for GH-16061
  Fix array_merge_recursive(): convert_to_array() may need separation (#16061)
2024-10-02 12:44:10 +02:00
Arnaud Le Blanc
3952a8f9f1 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [ci skip] NEWS for GH-16061
  Fix array_merge_recursive(): convert_to_array() may need separation (#16061)
2024-10-02 12:44:00 +02:00
Arnaud Le Blanc
220c8828cc Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [ci skip] NEWS for GH-16061
  Fix array_merge_recursive(): convert_to_array() may need separation (#16061)
2024-10-02 12:43:48 +02:00
Arnaud Le Blanc
2bcf3f9e23 [ci skip] NEWS for GH-16061 2024-10-02 12:43:30 +02:00
Arnaud Le Blanc
141c0d7532 Merge branch 'PHP-8.4'
* PHP-8.4:
  [ci skip] NEWS for GH-16061
  [ci skip] NEWS for GH-16061
  [ci skip] NEWS for GH-16061
2024-10-02 12:41:52 +02:00
Arnaud Le Blanc
ca8888ab96 [ci skip] NEWS for GH-16061 2024-10-02 12:39:53 +02:00
Arnaud Le Blanc
3d7be28a24 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [ci skip] NEWS for GH-16061
  [ci skip] NEWS for GH-16061
2024-10-02 12:39:22 +02:00
Arnaud Le Blanc
0516d95a1c [ci skip] NEWS for GH-16061 2024-10-02 12:38:59 +02:00
Arnaud Le Blanc
644ebb2aa0 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [ci skip] NEWS for GH-16061
2024-10-02 12:38:33 +02:00
Arnaud Le Blanc
56bcc7f3d0 [ci skip] NEWS for GH-16061 2024-10-02 12:38:24 +02:00
Arnaud Le Blanc
545bef8ae6 Fix array_merge_recursive(): convert_to_array() may need separation (#16061) 2024-10-02 12:37:04 +02:00
Arnaud Le Blanc
6b207c65d6 Merge branch 'PHP-8.4'
* PHP-8.4:
  [ci skip] NEWS for GH-16025
  [ci skip] NEWS for GH-16025
  [ci skip] NEWS for GH-16025
  Fix assertion failure in generator dtor (#16025)
2024-10-02 12:34:45 +02:00
Arnaud Le Blanc
cd64780764 [ci skip] NEWS for GH-16025 2024-10-02 12:34:37 +02:00
Arnaud Le Blanc
bc317d3afc Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [ci skip] NEWS for GH-16025
  [ci skip] NEWS for GH-16025
  Fix assertion failure in generator dtor (#16025)
2024-10-02 12:33:06 +02:00
Arnaud Le Blanc
26fd8d2ca6 [ci skip] NEWS for GH-16025 2024-10-02 12:32:53 +02:00
Arnaud Le Blanc
7e6616cafb Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [ci skip] NEWS for GH-16025
  Fix assertion failure in generator dtor (#16025)
2024-10-02 12:31:21 +02:00
Arnaud Le Blanc
36945ecb71 [ci skip] NEWS for GH-16025 2024-10-02 12:30:27 +02:00
Arnaud Le Blanc
6e55f4df23 Fix assertion failure in generator dtor (#16025) 2024-10-02 12:29:19 +02:00
Arnaud Le Blanc
dbec59166f Merge branch 'PHP-8.4'
* PHP-8.4:
  [ci skip] NEWS for GH-16004
  Fix use-after-free during lazy object initialization (#16004)
2024-10-02 12:16:44 +02:00
Arnaud Le Blanc
e4335baf8b [ci skip] NEWS for GH-16004 2024-10-02 12:16:35 +02:00
Arnaud Le Blanc
ab72fbadd9 Fix use-after-free during lazy object initialization (#16004) 2024-10-02 12:15:36 +02:00
Arnaud Le Blanc
dd063b3a02 Merge branch 'PHP-8.4'
* PHP-8.4:
  [ci skip] NEWS for GH-16026
  Fix reuse of dtor fiber during shutdown (#16026)
2024-10-02 12:12:49 +02:00
Arnaud Le Blanc
4512a8fe4f [ci skip] NEWS for GH-16026 2024-10-02 12:12:29 +02:00
Arnaud Le Blanc
d093c10caf Fix reuse of dtor fiber during shutdown (#16026) 2024-10-02 12:11:10 +02:00
Niels Dossche
f1b41d790d Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16151: Assertion failure in ext/dom/parentnode/tree.c
2024-10-01 21:48:12 +02:00
Niels Dossche
341c26fc3f Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16151: Assertion failure in ext/dom/parentnode/tree.c
2024-10-01 21:47:52 +02:00
Niels Dossche
cd67c090a9 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-16151: Assertion failure in ext/dom/parentnode/tree.c
2024-10-01 21:47:26 +02:00
Niels Dossche
066d18f2e8 Fix GH-16151: Assertion failure in ext/dom/parentnode/tree.c
Unfortunately, old DOM allows attributes to be used as parent nodes.
Only text nodes and entities are allowed as children for these types of
nodes, because that's the constraint DOM and libxml give us.

Closes GH-16156.
2024-10-01 21:46:12 +02:00
Niels Dossche
921a1e3dc1 Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16149: Null pointer dereference in DOMElement->getAttributeNames()
2024-10-01 21:04:22 +02:00
Niels Dossche
853322faab Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16149: Null pointer dereference in DOMElement->getAttributeNames()
2024-10-01 21:03:31 +02:00
Niels Dossche
63e1ebe78d Fix GH-16149: Null pointer dereference in DOMElement->getAttributeNames()
A namespace without a prefix is by definition always the "xmlns"
namespace.

Closes GH-16155.
2024-10-01 21:02:23 +02:00
Gina Peter Banyard
e8e4d36bc9 ext/ldap: Rename variable and move closer to usage site 2024-10-01 19:57:47 +01:00
Gina Peter Banyard
0733e90c7f ext/ldap: Check that array key is not empty 2024-10-01 19:57:47 +01:00
Gina Peter Banyard
72ee812e2a ext/ldap: Check array key does not have any nul bytes 2024-10-01 19:57:47 +01:00
Gina Peter Banyard
d34d015078 ext/ldap: Promote warning to ValueError if array is not a dict 2024-10-01 19:57:47 +01:00
Gina Peter Banyard
127968b1e4 ext/ldap: Refactor loop to a HASH_FOREACH loop 2024-10-01 19:57:47 +01:00
Gina Peter Banyard
34e9d9ee41 ext/ldap: Zero out arrays and traverse them as NULL terminated list 2024-10-01 19:57:47 +01:00
Gina Peter Banyard
304a514863 ext/ldap: Use HASH_FOREACH macro 2024-10-01 19:57:47 +01:00
Gina Peter Banyard
8a9aa08de7 ext/ldap: Reduce scope of variables 2024-10-01 19:57:47 +01:00