Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
S_process_special_blocks() should use a new stack for BEGIN blocks.
This avoids the stack moving underneath anything that directly or indirectly calls Perl_load_module(). [Committer’s note: This fixes bug #119993. Furthermore, under STRESS_REALLOC, t/io/layers.t was crashing like this: $ ./perl -Ilib -e ' open(UTF, "<:raw:encoding(utf8)", 'tmp75851B') or die $!; ref #blahblahblahblahblahblahblahblahblah' Segmentation fault: 11 (The comment seems to be necessary to make it crash.) It was happening because open() was causing a module to be loaded while the arguments to open() were still on the stack. ]
- Loading branch information