summaryrefslogtreecommitdiff
path: root/refs
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-06-24 14:28:41 -0700
committerJunio C Hamano <gitster@pobox.com>2017-06-24 14:28:41 -0700
commit50f03c6676ed5ea040dd53272882d3aac2ee1b48 (patch)
tree8bf9680918762ffa077832674da9cca98c8c1888 /refs
parentcda4ba30b1d6257524b9412ed4d7c44645fe0369 (diff)
parent88ce3ef636b1385e861ec0e9e2155248b999b032 (diff)
downloadgit-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.c3
-rw-r--r--refs/ref-cache.c3
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,