Change the few conditional uses of FREE_AND_NULL(x) to be unconditional. As noted in the standard[1] free(NULL) is perfectly valid, so we might as well leave this check up to the C library. 1. http://pubs.opengroup.org/onlinepubs/9699919799/functions/free.html Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- Let's do the opposite of this instead. blame.c | 4 +--- branch.c | 4 +--- http.c | 4 +--- tree-diff.c | 4 +--- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/blame.c b/blame.c index 58a7036847..b22a95de7b 100644 --- a/blame.c +++ b/blame.c @@ -334,9 +334,7 @@ static void fill_origin_blob(struct diff_options *opt, static void drop_origin_blob(struct blame_origin *o) { - if (o->file.ptr) { - FREE_AND_NULL(o->file.ptr); - } + FREE_AND_NULL(o->file.ptr); } /* diff --git a/branch.c b/branch.c index ecd710d730..776f55fc66 100644 --- a/branch.c +++ b/branch.c @@ -25,9 +25,7 @@ static int find_tracked_branch(struct remote *remote, void *priv) tracking->remote = remote->name; } else { free(tracking->spec.src); - if (tracking->src) { - FREE_AND_NULL(tracking->src); - } + FREE_AND_NULL(tracking->src); } tracking->spec.src = NULL; } diff --git a/http.c b/http.c index b4bfbceaeb..4162860ee3 100644 --- a/http.c +++ b/http.c @@ -2418,9 +2418,7 @@ void release_http_object_request(struct http_object_request *freq) close(freq->localfile); freq->localfile = -1; } - if (freq->url != NULL) { - FREE_AND_NULL(freq->url); - } + FREE_AND_NULL(freq->url); if (freq->slot != NULL) { freq->slot->callback_func = NULL; freq->slot->callback_data = NULL; diff --git a/tree-diff.c b/tree-diff.c index fe2e466ac1..553bc0e63a 100644 --- a/tree-diff.c +++ b/tree-diff.c @@ -557,9 +557,7 @@ struct combine_diff_path *diff_tree_paths( * free pre-allocated last element, if any * (see path_appendnew() for details about why) */ - if (p->next) { - FREE_AND_NULL(p->next); - } + FREE_AND_NULL(p->next); return p; } -- 2.18.0.865.gffc8e1a3cd6