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 /refs | |
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 'refs')
-rw-r--r-- | refs/files-backend.c | 3 | ||||
-rw-r--r-- | refs/ref-cache.c | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/refs/files-backend.c b/refs/files-backend.c index 621a4086c3..5ef88eda8b 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -2945,8 +2945,7 @@ static int files_transaction_prepare(struct ref_store *ref_store, head_oid.hash, &head_type); if (head_ref && !(head_type & REF_ISSYMREF)) { - free(head_ref); - head_ref = NULL; + FREE_AND_NULL(head_ref); } /* diff --git a/refs/ref-cache.c b/refs/ref-cache.c index af2fcb2c12..76bb723c86 100644 --- a/refs/ref-cache.c +++ b/refs/ref-cache.c @@ -82,9 +82,8 @@ static void clear_ref_dir(struct ref_dir *dir) int i; for (i = 0; i < dir->nr; i++) free_ref_entry(dir->entries[i]); - free(dir->entries); + FREE_AND_NULL(dir->entries); dir->sorted = dir->nr = dir->alloc = 0; - dir->entries = NULL; } struct ref_entry *create_dir_entry(struct ref_cache *cache, |