[PATCH 1/2] fix * at the start of a BRE subexpression
Szabolcs Nagy
nsz at port70.net
Mon Feb 29 10:04:46 EST 2016
commit 7eaa76fc2e7993582989d3838b1ac32dd8abac09 made * invalid at
the start of a BRE subexpression, but it should be accepted as
literal * there according to the standard.
This patch does not fix subexpressions starting with ^*.
---
src/regex/regcomp.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/regex/regcomp.c b/src/regex/regcomp.c
index da6abd1..7a2864c 100644
--- a/src/regex/regcomp.c
+++ b/src/regex/regcomp.c
@@ -889,7 +889,6 @@ static reg_errcode_t parse_atom(tre_parse_ctx_t *ctx, const char *s)
s++;
break;
case '*':
- return REG_BADPAT;
case '{':
case '+':
case '?':
@@ -978,9 +977,6 @@ static reg_errcode_t tre_parse(tre_parse_ctx_t *ctx)
}
parse_iter:
- /* extension: repetitions are rejected after an empty node
- eg. (+), |*, {2}, but assertions are not treated as empty
- so ^* or $? are accepted currently. */
for (;;) {
int min, max;
--
1.7.9.5
--fdj2RfSjLxBAspz7
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="0002-fix-at-the-start-of-a-complete-BRE.patch"
More information about the openwrt-devel
mailing list