Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jan 11, 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 : )

ndossche and others added 5 commits January 11, 2026 12:27
This is like buildFromDirectory() which does it right.

Closes GH-20892.
In the following optimization:

JMPZ(X,L1) JMP(L2) L1: -> JMPNZ(X,L2) NOP

L1 must not be followed by another block, so that it may safely be followed by
the block containing the JMPNZ. get_next_block() is used to verify L1 is the
direct follower. This function also skips empty blocks, including live, empty
target blocks, which will then implicitly follow the new follow block. This will
result in L1 being followed by two separate blocks, which is not possible.

Resolve this by get_next_block() stopping at target blocks.

Fixes OSS-Fuzz #472563272
Closes GH-20850
* PHP-8.4:
  Fix block_pass JMP[N]Z optimization
* PHP-8.5:
  Fix block_pass JMP[N]Z optimization
@pull pull bot locked and limited conversation to collaborators Jan 11, 2026
@pull pull bot added the ⤵️ pull label Jan 11, 2026
@pull pull bot merged commit 9b0643e into turkdevops:master Jan 11, 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.

2 participants