Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Perl: porters

[perl #54044] perl -wle '%::=();//' crash

 

 

Perl porters RSS feed   Index | Next | Previous | View Threaded


perlbug-followup at perl

May 12, 2008, 10:58 AM

Post #1 of 2 (125 views)
Permalink
[perl #54044] perl -wle '%::=();//' crash

# New Ticket Created by Reini Urban
# Please include the string: [perl #54044]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=54044 >


perl -wle '%::=();//' crashes in all perl versions.

In regexec.c PL_replgv is empty after the whole symboltable is cleared
and then used as GV.

regexec.c: SV* const oreplsv = GvSV(PL_replgv);
The gp pointer is 0x0, the type is BIND.

I would check for the empty gp pointer in PL_replgv and create an empty
but valid stash.
The problem is the semantically an empty stash should be allowed in
simple regex's. At least perl should not crash.

--
Reini Urban
http://phpwiki.org/ http://murbreak.at/


perlbug-comment at perl

May 12, 2008, 11:18 AM

Post #2 of 2 (118 views)
Permalink
[perl #54044] perl -wle '%::=();//' crash [In reply to]

Just for reference:
assertion "SvTYPE(shplep) == SVt_PVGV || SvTYPE(shplep) == SVt_PVLV"
failed: file "regexec.c", line 2768

But I haven't decided yet how to fix #54044.
Error out or create a new empty stash just for the match operator.
--
Reini Urban

Perl porters RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.