From e30438ccb04937c36dad6187f92b2a9895933f69 Mon Sep 17 00:00:00 2001 From: Yong Li Date: Wed, 29 Apr 2015 13:40:42 -0400 Subject: [PATCH] Do not call regfree() on an empty regex that is not successfully created by regcomp (also removed an unused member "has_regex" from all_iter) --- src/config.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/config.c b/src/config.c index 550b22723..1400b9513 100644 --- a/src/config.c +++ b/src/config.c @@ -343,7 +343,6 @@ typedef struct { git_config_iterator *current; const git_config *cfg; regex_t regex; - int has_regex; size_t i; } all_iter; @@ -480,7 +479,6 @@ int git_config_iterator_glob_new(git_config_iterator **out, const git_config *cf if ((result = regcomp(&iter->regex, regexp, REG_EXTENDED)) != 0) { giterr_set_regex(&iter->regex, result); - regfree(&iter->regex); git__free(iter); return -1; } @@ -983,7 +981,8 @@ void multivar_iter_free(git_config_iterator *_iter) iter->iter->free(iter->iter); git__free(iter->name); - regfree(&iter->regex); + if (iter->have_regex) + regfree(&iter->regex); git__free(iter); }