develooper Front page | perl.perl5.changes | Postings from March 2018

[perl.git] branch smoke-me/khw-regcomp created.v5.27.9-98-gd3da165e2b

From:
Karl Williamson
Date:
March 6, 2018 19:52
Subject:
[perl.git] branch smoke-me/khw-regcomp created.v5.27.9-98-gd3da165e2b
Message ID:
E1etId9-0002Y1-Ok@git.dc.perl.space
In perl.git, the branch smoke-me/khw-regcomp has been created

<https://perl5.git.perl.org/perl.git/commitdiff/d3da165e2b608548cfe537aa8589fd9892b14fcd?hp=0000000000000000000000000000000000000000>

        at  d3da165e2b608548cfe537aa8589fd9892b14fcd (commit)

- Log -----------------------------------------------------------------
commit d3da165e2b608548cfe537aa8589fd9892b14fcd
Author: Karl Williamson <khw@cpan.org>
Date:   Tue Mar 6 12:32:58 2018 -0700

    PATCH: [perl #132163] regex assertion failure
    
    The original test case has already been fixed; but modifying it slightly
    showed some other issues that are now fixed by this commit.
    
    The deepest problem is that this code in some paths creates a string to
    parse instead of what was in effect at the time; and in some
    circumstances what is in effect at the time is already a string that is
    different from the original.  Any messages that are raised should be
    output in terms of the original.  regcomp.c already has the
    infrastructure to handle the case where a message is raised during
    parsing of a constructed string, but it can't handle a 2nd level
    constructed string.  That was what led to the segfault in the original
    ticket.  Unrelated fixes caused the original ticket to no longer be
    applicable, and so this fix adds tests for that still would cause a
    problem.
    
    The method chosen here is to just make sure that the string constructed
    here to parse is error free, so no messages will be raised.  Instead it
    does the error checking as it constructs the string, so if what is being
    parsed to construct a new string is an already constructed one, the
    existing infrastructure handles it.  A side benefit is that this fixes
    some unreported bugs dealing with an input code point that overflows.
    Prior to this patch, it would error ungracefully.

-----------------------------------------------------------------------

-- 
Perl5 Master Repository



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