From: Junio C Hamano Date: Wed, 30 May 2018 12:51:28 +0000 (+0900) Subject: Merge branch 'ma/regex-no-regfree-after-comp-fail' X-Git-Tag: v2.18.0-rc0~4 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/d89f1248aaf4bb5d1094bc991a50839411935cf6?hp=3f384aaac4cce1d06dbb53794f658ce8ddbf685d Merge branch 'ma/regex-no-regfree-after-comp-fail' We used to call regfree() after regcomp() failed in some codepaths, which have been corrected. * ma/regex-no-regfree-after-comp-fail: regex: do not call `regfree()` if compilation fails --- diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c index 239ce5122b..800a899c86 100644 --- a/diffcore-pickaxe.c +++ b/diffcore-pickaxe.c @@ -215,7 +215,6 @@ static void regcomp_or_die(regex_t *regex, const char *needle, int cflags) /* The POSIX.2 people are surely sick */ char errbuf[1024]; regerror(err, regex, errbuf, 1024); - regfree(regex); die("invalid regex: %s", errbuf); } } diff --git a/grep.c b/grep.c index 84f8054a3f..45ec7e636c 100644 --- a/grep.c +++ b/grep.c @@ -636,7 +636,6 @@ static void compile_fixed_regexp(struct grep_pat *p, struct grep_opt *opt) if (err) { char errbuf[1024]; regerror(err, &p->regexp, errbuf, sizeof(errbuf)); - regfree(&p->regexp); compile_regexp_failed(p, errbuf); } } @@ -701,7 +700,6 @@ static void compile_regexp(struct grep_pat *p, struct grep_opt *opt) if (err) { char errbuf[1024]; regerror(err, &p->regexp, errbuf, 1024); - regfree(&p->regexp); compile_regexp_failed(p, errbuf); } }