Skip to content

[pull] master from php:master#1069

Merged
pull[bot] merged 9 commits into
turkdevops:masterfrom
php:master
Jul 7, 2026
Merged

[pull] master from php:master#1069
pull[bot] merged 9 commits into
turkdevops:masterfrom
php:master

Conversation

@pull

@pull pull Bot commented Jul 7, 2026

Copy link
Copy Markdown

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

iluuu1994 and others added 9 commits July 7, 2026 11:01
These millions of iterations don't seem to be necessary to trigger the original
bug.
* PHP-8.5:
  Fix performance of gh22443.phpt
…build

Without this, executor globals vary in size and offsets for C vs. C++, which
leads to issues since GH-22287.
* PHP-8.2:
  [skip ci] Add -DZEND_VERIFY_TYPE_INFERENCE to CXXFLAGS for variation build
* PHP-8.3:
  [skip ci] Add -DZEND_VERIFY_TYPE_INFERENCE to CXXFLAGS for variation build
* PHP-8.4:
  [skip ci] Add -DZEND_VERIFY_TYPE_INFERENCE to CXXFLAGS for variation build
* PHP-8.5:
  [skip ci] Add -DZEND_VERIFY_TYPE_INFERENCE to CXXFLAGS for variation build
zend_call_function invokes an internal callee's handler directly, with no
VM frame and without the stack-limit check the interpreter runs at its call
opcodes. An internal function that recurses through zend_call_function, such
as a self- or mutually-attached SPL iterator, never yields back to the VM,
so nothing bounds the recursion and the C stack overflows into a SEGV.

Check zend_call_stack_overflowed() before pushing the call frame and raise
the usual "Maximum call stack size reached" error on overflow. Running the
check ahead of the frame setup keeps the error path free of teardown.

Fixes GH-15672
Fixes GH-15911
@pull pull Bot locked and limited conversation to collaborators Jul 7, 2026
@pull pull Bot added the ⤵️ pull label Jul 7, 2026
@pull pull Bot merged commit 4afc970 into turkdevops:master Jul 7, 2026
0 of 2 checks passed
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