aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0002-fix-at-the-start-of-a-BRE-subexpression.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/musl/0002-fix-at-the-start-of-a-BRE-subexpression.patch')
-rw-r--r--main/musl/0002-fix-at-the-start-of-a-BRE-subexpression.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/main/musl/0002-fix-at-the-start-of-a-BRE-subexpression.patch b/main/musl/0002-fix-at-the-start-of-a-BRE-subexpression.patch
new file mode 100644
index 000000000..7c5c82516
--- /dev/null
+++ b/main/musl/0002-fix-at-the-start-of-a-BRE-subexpression.patch
@@ -0,0 +1,39 @@
+From 39ea71fb8afddda879a1999f2a203dfdaf57a639 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <nsz@port70.net>
+Date: Mon, 29 Feb 2016 15:04:46 +0000
+Subject: [PATCH] fix * at the start of a BRE subexpression
+
+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;
+
+--
+2.7.2
+