diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-06-24 14:28:41 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-06-24 14:28:41 -0700 |
commit | 50f03c6676ed5ea040dd53272882d3aac2ee1b48 (patch) | |
tree | 8bf9680918762ffa077832674da9cca98c8c1888 /builtin/config.c | |
parent | cda4ba30b1d6257524b9412ed4d7c44645fe0369 (diff) | |
parent | 88ce3ef636b1385e861ec0e9e2155248b999b032 (diff) | |
download | git-50f03c6676ed5ea040dd53272882d3aac2ee1b48.tar.gz |
Merge branch 'ab/free-and-null'
A common pattern to free a piece of memory and assign NULL to the
pointer that used to point at it has been replaced with a new
FREE_AND_NULL() macro.
* ab/free-and-null:
*.[ch] refactoring: make use of the FREE_AND_NULL() macro
coccinelle: make use of the "expression" FREE_AND_NULL() rule
coccinelle: add a rule to make "expression" code use FREE_AND_NULL()
coccinelle: make use of the "type" FREE_AND_NULL() rule
coccinelle: add a rule to make "type" code use FREE_AND_NULL()
git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL
Diffstat (limited to 'builtin/config.c')
-rw-r--r-- | builtin/config.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/builtin/config.c b/builtin/config.c index 82db29fae7..70ff231e9c 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -215,8 +215,7 @@ static int get_value(const char *key_, const char *regex_) key_regexp = (regex_t*)xmalloc(sizeof(regex_t)); if (regcomp(key_regexp, key, REG_EXTENDED)) { error("invalid key pattern: %s", key_); - free(key_regexp); - key_regexp = NULL; + FREE_AND_NULL(key_regexp); ret = CONFIG_INVALID_PATTERN; goto free_strings; } @@ -236,8 +235,7 @@ static int get_value(const char *key_, const char *regex_) regexp = (regex_t*)xmalloc(sizeof(regex_t)); if (regcomp(regexp, regex_, REG_EXTENDED)) { error("invalid pattern: %s", regex_); - free(regexp); - regexp = NULL; + FREE_AND_NULL(regexp); ret = CONFIG_INVALID_PATTERN; goto free_strings; } |