Skip to content

[pull] master from php:master#412

Merged
pull[bot] merged 4 commits intoturkdevops:masterfrom
php:master
Oct 1, 2025
Merged

[pull] master from php:master#412
pull[bot] merged 4 commits intoturkdevops:masterfrom
php:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Oct 1, 2025

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 : )

…of already persisted file

Both processes race to compile warning_replay.inc. Whichever is first will get
to persist the script. The loser will use the script that is already persisted,
and the script that was just compiled is freed.

However, EG(errors) and persistent_script->warnings still refer to the same
allocation, and EG(errors) becomes a dangling pointer. To solve this, we simply
don't free warnings from free_persistent_script() anymore to maintain exclusive
ownership for EG(errors).

Furthermore, we need to adjust a call to zend_emit_recorded_errors() that would
previously use EG(errors), even when persistent_script has been swapped out.

Fixes GH-19984
Closes GH-19995
* PHP-8.5:
  Fix double-free of EG(errors)/persistent_script->warnings on persist of already persisted file
@pull pull bot locked and limited conversation to collaborators Oct 1, 2025
@pull pull bot added the ⤵️ pull label Oct 1, 2025
@pull pull bot merged commit a3f0861 into turkdevops:master Oct 1, 2025
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.

1 participant