This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
(perl #133575) prevent set/longjmp clobbering locals in S_fold_constants
authorTony Cook <tony@develop-help.com>
Wed, 2 Jan 2019 23:48:05 +0000 (10:48 +1100)
committerTony Cook <tony@develop-help.com>
Sun, 6 Jan 2019 23:22:10 +0000 (10:22 +1100)
commit35ad0133df9b65a4e32f2f07a2a05b387bd79591
tree90fc2ec9ecadfd85eaf86cd41cc4200cb98c867d
parentd586c8db9528182f19e2cca28ca3e6a38c65b9a8
(perl #133575) prevent set/longjmp clobbering locals in S_fold_constants

My original approach moved the whole switch into the new function,
but that was a lot messier, and I don't think it's necessary.

pad_swipe() can throw, but only for panics, and in DESTROY if
refadjust is true, which isn't the case here.

CLEAR_ERRSV() might throw if the code called by CALLRUNOPS()
puts an object that dies in DESTROY in $@, but I think that
might cause an infinite loop in the original code.
op.c