summaryrefslogtreecommitdiff
path: root/t/op/loopctl.t
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2005-11-22 16:32:42 +0000
committerDave Mitchell <davem@fdisolutions.com>2005-11-22 16:32:42 +0000
commit6e585ca0b32392d502ae4276faab9761cc9b1188 (patch)
tree4478db7ed5be6ce4a71d47e6edae1acc8836e113 /t/op/loopctl.t
parentc106e8bbff313f9d3ffd1a9a1b0a6bd6129af87b (diff)
downloadperl-6e585ca0b32392d502ae4276faab9761cc9b1188.tar.gz
[perl #37725] perl segfaults on reversed array reference
The 'for (reverse @a)' optimisation got its index wrong when create LVALUE SVs for undef elements p4raw-id: //depot/perl@26195
Diffstat (limited to 't/op/loopctl.t')
-rw-r--r--t/op/loopctl.t15
1 files changed, 14 insertions, 1 deletions
diff --git a/t/op/loopctl.t b/t/op/loopctl.t
index 11fb7c8ef7..a8e23107cb 100644
--- a/t/op/loopctl.t
+++ b/t/op/loopctl.t
@@ -31,7 +31,7 @@
#
# -- .robin. <robin@kitsite.com> 2001-03-13
-print "1..46\n";
+print "1..47\n";
my $ok;
@@ -992,3 +992,16 @@ print ($ok ? "ok 41\n" : "not ok 41\n");
}
}
+
+{
+ # [perl #37725]
+
+ $a37725[3] = 1; # use package var
+ $i = 2;
+ for my $x (reverse @a37725) {
+ $x = $i++;
+ }
+ print "@a37725" == "5 4 3 2" ? "" : "not ",
+ "ok 47 - reverse with empty slots (@a37725)\n";
+}
+