From: Dave Mitchell Date: Wed, 4 May 2005 20:30:00 +0000 (+0000) Subject: add test for [perl #34682] leaving eval via last in inner runops X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6ab4a6ffb5877cdeb02bbdd245f9610e46bb2746;p=p5sagit%2Fp5-mst-13.2.git add test for [perl #34682] leaving eval via last in inner runops p4raw-id: //depot/perl@24387 --- diff --git a/t/op/eval.t b/t/op/eval.t index 6aef5b8..d64504c 100755 --- a/t/op/eval.t +++ b/t/op/eval.t @@ -5,7 +5,7 @@ BEGIN { @INC = '../lib'; } -print "1..91\n"; +print "1..92\n"; eval 'print "ok 1\n";'; @@ -438,3 +438,14 @@ print "ok ",$test++," - #20798 (used to dump core)\n"; eval $code; print $c eq 'V' ? "ok " : "# '$c' ne 'V'\nnot ok ", $test++, "\n"; } + +# [perl #34682] escaping an eval with last could coredump or dup output + +$got = runperl ( + prog => + 'sub A::TIEARRAY { L: { eval { last L } } } tie @a, A; warn qq(ok\n)', +stderr => 1); + +print "not " unless $got eq "ok\n"; +print "ok $test - eval and last\n"; $test++; +