The failing pattern has a single character subpattern, which should be
caught and compilation aborted, and this commit now does so.
pos_in_brackets = strchr("([<)]>)]>", open);
close = (pos_in_brackets) ? pos_in_brackets[3] : open;
- if ( name[name_len-1] != close
+ if ( i >= name_len
+ || name[name_len-1] != close
|| (escaped && name[name_len-2] != '\\'))
{
sv_catpvs(msg, "Unicode property wildcard not terminated");
"Assertion failure with *COMMIT and wildcard property");
}
+ { # [perl #134029] Previously assertion failure
+ fresh_perl_like('qr/\p{upper:]}|\337(?|ss)|)(?0/',
+ qr/Unicode property wildcard not terminated/,
+ {},
+ "Assertion failure with single character wildcard");
+ }
+
# !!! NOTE that tests that aren't at all likely to crash perl should go
# a ways above, above these last ones. There's a comment there that, like