Skip to content

[pull] master from php:master#735

Merged
pull[bot] merged 5 commits intodolfly:masterfrom
php:master
May 4, 2026
Merged

[pull] master from php:master#735
pull[bot] merged 5 commits intodolfly:masterfrom
php:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 4, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

prateekbhujel and others added 5 commits May 4, 2026 13:43
…1835)

Fixes GH-21831.

`getHash()` runs while `SplObjectStorage` is looking up an object. Letting it mutate a storage from there is unsafe, because the caller may still be iterating the table that just changed underneath it.

This makes that fail immediately with an `Error` instead of trying to handle it one caller at a time.

The existing concurrent deletion tests now cover the new rule, and GH-21831 has a direct regression test. This targets master, so the behavior change is also noted in `UPGRADING`.
Add a refcount on the child iterator across rewind/next/valid/current/key
calls so user methods can detach themselves without freeing the object
mid-call.

close GH-21933
* PHP-8.4:
  Fix GH-21927: Use-after-free of self-freeing MultipleIterator children.
* PHP-8.5:
  Fix GH-21927: Use-after-free of self-freeing MultipleIterator children.
@pull pull Bot locked and limited conversation to collaborators May 4, 2026
@pull pull Bot added the ⤵️ pull label May 4, 2026
@pull pull Bot merged commit eb34063 into dolfly:master May 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants