From: Rich Felker Date: Thu, 17 Jul 2014 23:56:27 +0000 (-0400) Subject: fix crash in regexec for nonzero nmatch argument with REG_NOSUB X-Git-Tag: v1.1.4~47 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=72ed3d47e567b1635a35d3c1d174c8a8b2787e30;p=oweals%2Fmusl.git 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. --- diff --git a/src/regex/regexec.c b/src/regex/regexec.c index 855cef57..2e35b832 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);