Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: f4cc8ab9dba9f2cfac19bbb2194eff6266ccde70 https://github.com/Perl/perl5/commit/f4cc8ab9dba9f2cfac19bbb2194eff6266ccde70 Author: David Mitchell <da...@iabyn.com> Date: 2022-07-09 (Sat, 09 Jul 2022)
Changed paths: M pp_ctl.c M t/op/goto.t Log Message: ----------- avoid SEGVs on goto &xs_sub GH #19936 When the sub which is being left gets freed, like: sub foo { *foo = sub {}; goto &xs_sub } it can leave PL_op as a NULL pointer while the XS sub is being executed. My recent commit v5.37.1-83-g58cf04199f, which fixed the value of GIMME_V in such XS subs, made the problem more noticeable, since it caused PL_op to always be accessed. The fix is to defer the freeing of the old sub when goto'ing an XS sub. Commit: 8a4b911d06671a03e21054142ab2c27b15d5fd3e https://github.com/Perl/perl5/commit/8a4b911d06671a03e21054142ab2c27b15d5fd3e Author: David Mitchell <da...@iabyn.com> Date: 2022-07-09 (Sat, 09 Jul 2022) Changed paths: M pod/perldelta.pod Log Message: ----------- perldelta: add entry for 2 goto &xs_sub fixes Compare: https://github.com/Perl/perl5/compare/a7304a688ff2...8a4b911d0667