]> git.vpit.fr Git - perl/modules/Scope-Upper.git/commit
su_uplevel: populate lower stack frames properly
authorDavid Mitchell <davem@iabyn.com>
Thu, 19 May 2016 11:03:48 +0000 (12:03 +0100)
committerVincent Pit <perl@profvince.com>
Mon, 30 May 2016 12:35:44 +0000 (14:35 +0200)
commit5736d907ca8e5e47a4c2c70564014c8b4ec4f1aa
treee93a32e26bb196fc572a026d25834fe75e57f348
parente7846e7f6fded4c4a3139054c5206c1480711867
su_uplevel: populate lower stack frames properly

When creating a temporary new argument stack, su_uplevel() copies most of
the old stack to a new one. This isn't really needed, as the new stack
will be abandoned before it ever pops back to that level.  But it *is*
needed when debugging code prints out the stack, as in for example,
'perl -Dstv'.

However, the code didn't actually copy the old stack: it copied garbage
instead, since it was using PL_curstack rather than AvARRAY(PL_curstack)
as the address of of the old stack. Which was causing 'perl -Dstv' to
SEGV.

This commit fixes that.
Upper.xs