Change 14139 by jhi@alpha on 2002/01/08 19:13:43

        Subject: [patch] peep() is rude
        From: Hugo van der Sanden <[EMAIL PROTECTED]>            
        Date: Tue, 08 Jan 2002 19:17:50 +0000            
        Message-Id: <[EMAIL PROTECTED]>

Affected files ...

.... //depot/perl/op.c#474 edit
.... //depot/perl/t/run/kill_perl.t#21 edit

Differences ...

==== //depot/perl/op.c#474 (text) ====
Index: perl/op.c
--- perl/op.c.~1~       Tue Jan  8 12:30:05 2002
+++ perl/op.c   Tue Jan  8 12:30:05 2002
@@ -7035,7 +7035,7 @@
            else if (o->op_next->op_type == OP_RV2AV) {
                OP* pop = o->op_next->op_next;
                IV i;
-               if (pop->op_type == OP_CONST &&
+               if (pop && pop->op_type == OP_CONST &&
                    (PL_op = pop->op_next) &&
                    pop->op_next->op_type == OP_AELEM &&
                    !(pop->op_next->op_private &

==== //depot/perl/t/run/kill_perl.t#21 (text) ====
Index: perl/t/run/kill_perl.t
--- perl/t/run/kill_perl.t.~1~  Tue Jan  8 12:30:05 2002
+++ perl/t/run/kill_perl.t      Tue Jan  8 12:30:05 2002
@@ -816,3 +816,9 @@
 print "ok" if 'X' =~ /\X/;
 EXPECT
 ok
+######## segfault in 5.6.1 within peep()
+@a = (1..9);
+@b = sort { @c = sort { @d = sort { 0 } @a; @d; } @a; } @a;
+print join '', @a, "\n";
+EXPECT
+123456789
End of Patch.

Reply via email to