From 9b0464aa670d0a59bda5b75d54f2a6b6f9d1288a Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Mon, 24 Sep 2018 11:55:55 -0600 Subject: PATCH: [perl #133423] for maint 5.28 --- regcomp.c | 1 - t/re/reg_mesg.t | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/regcomp.c b/regcomp.c index f694ff7f8b..e1da15a77c 100644 --- a/regcomp.c +++ b/regcomp.c @@ -15591,7 +15591,6 @@ redo_curchar: if (UCHARAT(RExC_parse) != ')') vFAIL("Expecting close paren for wrapper for nested extended charclass"); - RExC_parse++; RExC_flags = save_flags; goto handle_operand; } diff --git a/t/re/reg_mesg.t b/t/re/reg_mesg.t index 5fb1f1a46c..2880be45eb 100644 --- a/t/re/reg_mesg.t +++ b/t/re/reg_mesg.t @@ -122,6 +122,8 @@ my $tab_hex = sprintf "%02X", ord("\t"); # # The first set are those that should be fatal errors. +my $bug133423 = "(?[(?^:(?[\\\x00]))\\]\x00|2[^^]\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80])R.\\670"; + my @death = ( '/[[=foo=]]/' => 'POSIX syntax [= =] is reserved for future extensions {#} m/[[=foo=]{#}]/', @@ -307,6 +309,7 @@ my @death = '/\A{/' => 'Unescaped left brace in regex is illegal here {#} m/\A{{#}/', '/(?<=/' => 'Sequence (?... not terminated {#} m/(?<={#}/', # [perl #128170] '/\p{vertical tab}/' => 'Can\'t find Unicode property definition "vertical tab" {#} m/\\p{vertical tab}{#}/', # [perl #132055] + "/$bug133423/" => "Operand with no preceding operator {#} m/(?[(?^:(?[\\]))\\{#}]|2[^^]\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80])R.\\670/", ); -- cgit v1.2.1