]> git.vpit.fr Git - perl/modules/Scope-Upper.git/commitdiff
Preserve PL_scopestack[cx->blk_oldscopesp - 1] in su_pop()
authorVincent Pit <vince@profvince.com>
Fri, 27 Mar 2015 18:47:42 +0000 (15:47 -0300)
committerVincent Pit <vince@profvince.com>
Fri, 27 Mar 2015 18:47:42 +0000 (15:47 -0300)
Starting from perl 5.19.4 commit 2537512, pp_leavesub does a second
leave_scope(PL_scopestack[cx->blk_oldscopesp - 1]) just after the usual
LEAVE call. However, this index in the scope stack may be overwritten
by our own "flush" leave_scope() call in su_pop(). More precisely, this
seems to happen in sv_clear() (called from sv_free2() called from
sv_unref_flags() called from sv_force_normal_flags() called from
leave_scope()) and only when the debugger is enabled.


No differences found