From d655d9a2c4d4884d0edf5364a3aafbc8b0b8de38 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Fri, 27 Mar 2015 12:39:54 -0700 Subject: [perl #124099] Wrong CvOUTSIDE in find_lexical_cv Instead of following the chain of CvOUTSIDE pointers, I had it always looking at the CvOUTSIDE pointer of the current PL_compcv. So any time it had to dig down more than one level, it had a chance of crash- ing or looping. --- t/op/lexsub.t | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 't') diff --git a/t/op/lexsub.t b/t/op/lexsub.t index b1b76e84c3..adccf4c5db 100644 --- a/t/op/lexsub.t +++ b/t/op/lexsub.t @@ -961,3 +961,9 @@ like runperl( @AutoloadTest::ISA = AutoloadTestSuper::; AutoloadTest->blah; } + +# This used to crash because op.c:find_lexical_cv was looking at the wrong +# CV’s OUTSIDE pointer. [perl #124099] +{ + my sub h; sub{my $x; sub{h}} +} -- cgit v1.2.1