summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-05-30 12:51:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-05-30 12:51:28 (GMT)
commitd89f1248aaf4bb5d1094bc991a50839411935cf6 (patch)
treed4eb1fd78a3966afa8918812917e0583f604223c
parent3f384aaac4cce1d06dbb53794f658ce8ddbf685d (diff)
parent17154b1576f8be5aa3044f3adadb5473da618a42 (diff)
downloadgit-d89f1248aaf4bb5d1094bc991a50839411935cf6.zip
git-d89f1248aaf4bb5d1094bc991a50839411935cf6.tar.gz
git-d89f1248aaf4bb5d1094bc991a50839411935cf6.tar.bz2
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
-rw-r--r--diffcore-pickaxe.c1
-rw-r--r--grep.c2
2 files changed, 0 insertions, 3 deletions
diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c
index 239ce51..800a899 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 84f8054..45ec7e6 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);
}
}