Merge branch 'ab/free-and-null'
authorJunio C Hamano <gitster@pobox.com>
Sat, 24 Jun 2017 21:28:41 +0000 (14:28 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 24 Jun 2017 21:28:41 +0000 (14:28 -0700)
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

38 files changed:
1  2 
alias.c
apply.c
attr.c
blame.c
branch.c
builtin/am.c
builtin/clean.c
builtin/config.c
builtin/index-pack.c
builtin/pack-objects.c
builtin/unpack-objects.c
builtin/worktree.c
config.c
credential.c
diff-lib.c
diff.c
diffcore-rename.c
dir.c
fast-import.c
gpg-interface.c
grep.c
help.c
http.c
imap-send.c
line-log.c
ll-merge.c
mailinfo.c
pathspec.c
read-cache.c
refs/files-backend.c
remote-testsvn.c
rerere.c
sequencer.c
sha1_file.c
split-index.c
transport.c
tree-diff.c
tree.c
diff --cc alias.c
Simple merge
diff --cc apply.c
Simple merge
diff --cc attr.c
Simple merge
diff --cc blame.c
Simple merge
diff --cc branch.c
Simple merge
diff --cc builtin/am.c
Simple merge
diff --cc builtin/clean.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc config.c
Simple merge
diff --cc credential.c
Simple merge
diff --cc diff-lib.c
Simple merge
diff --cc diff.c
Simple merge
Simple merge
diff --cc dir.c
Simple merge
diff --cc fast-import.c
Simple merge
diff --cc gpg-interface.c
Simple merge
diff --cc grep.c
index 1fca83be86525957158fc20d09c91b3208a1974e,909f35a98417eed473c39605caa1c684256a9b94..98733db623ae2a0c4b3c11b71e3560429ec975ff
--- 1/grep.c
--- 2/grep.c
+++ b/grep.c
@@@ -1953,10 -1773,9 +1950,9 @@@ void grep_source_clear_data(struct grep
  {
        switch (gs->type) {
        case GREP_SOURCE_FILE:
 -      case GREP_SOURCE_SHA1:
 +      case GREP_SOURCE_OID:
        case GREP_SOURCE_SUBMODULE:
-               free(gs->buf);
-               gs->buf = NULL;
+               FREE_AND_NULL(gs->buf);
                gs->size = 0;
                break;
        case GREP_SOURCE_BUF:
diff --cc help.c
Simple merge
diff --cc http.c
Simple merge
diff --cc imap-send.c
Simple merge
diff --cc line-log.c
Simple merge
diff --cc ll-merge.c
Simple merge
diff --cc mailinfo.c
Simple merge
diff --cc pathspec.c
Simple merge
diff --cc read-cache.c
Simple merge
Simple merge
Simple merge
diff --cc rerere.c
Simple merge
diff --cc sequencer.c
Simple merge
diff --cc sha1_file.c
Simple merge
diff --cc split-index.c
Simple merge
diff --cc transport.c
Simple merge
diff --cc tree-diff.c
Simple merge
diff --cc tree.c
Simple merge