aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0009-fix-crash-in-regexec-for-nonzero-nmatch-argument-wit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/musl/0009-fix-crash-in-regexec-for-nonzero-nmatch-argument-wit.patch')
-rw-r--r--main/musl/0009-fix-crash-in-regexec-for-nonzero-nmatch-argument-wit.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/main/musl/0009-fix-crash-in-regexec-for-nonzero-nmatch-argument-wit.patch b/main/musl/0009-fix-crash-in-regexec-for-nonzero-nmatch-argument-wit.patch
new file mode 100644
index 0000000000..ffef918c0c
--- /dev/null
+++ b/main/musl/0009-fix-crash-in-regexec-for-nonzero-nmatch-argument-wit.patch
@@ -0,0 +1,27 @@
+From 72ed3d47e567b1635a35d3c1d174c8a8b2787e30 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Thu, 17 Jul 2014 19:56:27 -0400
+Subject: [PATCH] fix crash in regexec for nonzero nmatch argument with
+ REG_NOSUB
+
+per POSIX, the nmatch and pmatch arguments are ignored when the regex
+was compiled with REG_NOSUB.
+---
+ src/regex/regexec.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/regex/regexec.c b/src/regex/regexec.c
+index 855cef5..2e35b83 100644
+--- a/src/regex/regexec.c
++++ b/src/regex/regexec.c
+@@ -983,6 +983,7 @@ regexec(const regex_t *restrict preg, const char *restrict string,
+ tre_tnfa_t *tnfa = (void *)preg->TRE_REGEX_T_FIELD;
+ reg_errcode_t status;
+ int *tags = NULL, eo;
++ if (tnfa->cflags & REG_NOSUB) nmatch = 0;
+ if (tnfa->num_tags > 0 && nmatch > 0)
+ {
+ tags = xmalloc(sizeof(*tags) * tnfa->num_tags);
+--
+2.0.2
+