Bug 228688 - invalid syntax results in interpreter seg fault
Summary: invalid syntax results in interpreter seg fault
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: perl
Version: 8
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Marcela Mašláňová
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-02-14 14:37 UTC by Robert Haas
Modified: 2008-06-12 10:38 UTC (History)
2 users (show)

Fixed In Version: perl-5.10.0-1.f9
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-06-12 10:38:55 UTC
Type: ---


Attachments (Terms of Use)

Description Robert Haas 2007-02-14 14:37:17 UTC
Description of problem:

Attempting to execute the following code produces a segmentation fault:

sub frob {
    my ($r) = @_;
    sub {
        . 3;
    };
}

Version-Release number of selected component (if applicable): perl-5.8.8-10

How reproducible: Run the code above.

Steps to Reproduce:
1. Save the code above in a text file (6 lines) called "oops".
2. Type "perl < oops"
  
Actual results:
Seg fault

Expected results:
Syntax error

Additional info:
None

Comment 1 Robert Haas 2008-01-17 21:45:07 UTC
Problem still exists in perl-5.8.8-27.fc7

Comment 2 Jan Pazdziora 2008-02-28 13:03:19 UTC
Problem persists on:

$ rpm -q perl
perl-5.8.8-33.fc8.x86_64


Comment 3 Jan Pazdziora 2008-02-28 13:21:52 UTC
The backtrace looks like this:

Program terminated with signal 11, Segmentation fault.
#0  Perl_pad_free (my_perl=0x603010, po=4) at pad.c:1180
1180            SvPADTMP_off(PL_curpad[po]);
(gdb) bt
#0  Perl_pad_free (my_perl=0x603010, po=4) at pad.c:1180
#1  0x00002aaaaab05bb8 in Perl_op_clear (my_perl=0x603010, o=0x60cc00) at op.c:515
#2  0x00002aaaaab07d4b in Perl_op_free (my_perl=0x603010, o=0x60cc00) at op.c:379
#3  0x00002aaaaab07d0c in Perl_op_free (my_perl=0x603010, o=0x60cd10) at op.c:367
#4  0x00002aaaaab1228a in Perl_newATTRSUB (my_perl=0x603010, floor=103, o=<value
optimized out>, proto=0x0, attrs=0x0, block=0x60cd10) at op.c:4426
#5  0x00002aaaaab03638 in Perl_yyparse (my_perl=0x603010) at perly.y:364
#6  0x00002aaaaaae2c92 in S_parse_body (my_perl=0x603010, env=0x0,
xsinit=0x4017e0 <xs_init>) at perl.c:2212
#7  0x00002aaaaaae54e9 in perl_parse (my_perl=0x603010, xsinit=0x4017e0
<xs_init>, argc=2, argv=0x7fffa2dee488, env=0x0) at perl.c:1599
#8  0x0000000000401773 in main (argc=2, argv=0x7fffa2dee488, env=<value
optimized out>) at perlmain.c:97
(gdb) 



Note You need to log in before you can comment on or make changes to this bug.