develooper Front page | perl.perl5.porters | Postings from January 2017

Re: [perl #130661] perly.c:341: Perl_yyparse: Assertion`parser->yychar >= 0' failed.

Thread Previous
From:
Dave Mitchell
Date:
January 30, 2017 12:38
Subject:
Re: [perl #130661] perly.c:341: Perl_yyparse: Assertion`parser->yychar >= 0' failed.
Message ID:
20170130123821.GB8158@iabyn.com
On Sat, Jan 28, 2017 at 09:21:30AM -0800, Sergey Aleynikov wrote:
> While fuzzing perl v5.25.9-35-g32207c637b built with afl and run
> under libdislocator, I found the following 5-bytes program
> 
> hexdump -C 0051
> 00000000  73 75 62 28 ec                                    |sub(.|
> 00000005
> 
> to cause an assertion failure when run with -Mexperimental=signatures.
> This is a regression in blead, bisect points to

Now fixed with v5.25.9-66-gcbf40e7:

commit cbf40e71df30fba4761230a8b62a34d7bb247495
Author:     David Mitchell <davem@iabyn.com>
AuthorDate: Mon Jan 30 12:25:55 2017 +0000
Commit:     David Mitchell <davem@iabyn.com>
CommitDate: Mon Jan 30 12:30:30 2017 +0000

    signature sub (\x80 triggered an assertion
    
    RT #130661
    
    In the presence of 'use feature "signatures"', a char >= 0x80 where a sigil
    was expected triggered an assert failure, because the (signed) character
    was being was being promoted to int and ended up getting returned from
    yylex() as a negative value.

-- 
"There's something wrong with our bloody ships today, Chatfield."
    -- Admiral Beatty at the Battle of Jutland, 31st May 1916.

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About