develooper Front page | perl.perl5.porters | Postings from August 2016

Re: [perl #129038] Assertion Failure: *Perl_pp_subst *pp_hot.c:3203)

Thread Previous | Thread Next
From:
Dave Mitchell
Date:
August 24, 2016 14:28
Subject:
Re: [perl #129038] Assertion Failure: *Perl_pp_subst *pp_hot.c:3203)
Message ID:
20160824142820.GT3173@iabyn.com
On Sun, Aug 21, 2016 at 05:27:55PM -0700, Father Chrysostomos via RT wrote:
> On Sun Aug 21 15:20:17 2016, brian.carpenter@gmail.com wrote:
> > The attached script triggers an assertion failure in v5.25.5 (v5.25.4-
> > 5-g92d73bf).
> > 
> > ./perl test610
> > perl: pp_hot.c:3203: OP *Perl_pp_subst(): Assertion `strend >= s'
> > failed.
> > Aborted
> 
> Some locale bug, apparently:
> 
> $ ./miniperl -e '$_="\xff"; s/\w//l'
> Assertion failed: (strend >= s), function Perl_pp_subst, file pp_hot.c, line 3203.

The problem is this in S_regmatch:

        case POSIXL:    /* \w or [:punct:] etc. under /l */

            ...

            /* Here, must be utf8 */
            locinput += UTF8SKIP(locinput);
            break;

AFAIKT, assuming at that point that the string is utf8, is incorrect.
Karl, this bit of code was was last touched by you, fancy having a look?

-- 
Standards (n). Battle insignia or tribal totems.

Thread Previous | Thread Next


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