free(NULL) is perfectly valid.
authorJunio C Hamano <junkio@cox.net>
Mon, 28 Aug 2006 04:19:39 +0000 (21:19 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 28 Aug 2006 04:19:39 +0000 (21:19 -0700)
Jonas noticed some places say "if (X) free(X)" which is totally
unnecessary.

Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-apply.c
builtin-fmt-merge-msg.c
builtin-repo-config.c
builtin-rev-list.c
config.c
fetch.c
http-fetch.c
http-push.c
path-list.c
refs.c

index b47ccacc2e0618476ca4816e111a97b2c46f0f4f..1a1deaf78c61547a53bf0c3f7f1e7f37464610c5 100644 (file)
@@ -1131,8 +1131,7 @@ static struct fragment *parse_binary_hunk(char **buf_p,
        return frag;
 
  corrupt:
-       if (data)
-               free(data);
+       free(data);
        *status_p = -1;
        error("corrupt binary patch at line %d: %.*s",
              linenr-1, llen-1, buffer);
@@ -1329,8 +1328,7 @@ static void show_stats(struct patch *patch)
                printf(" %s%-*s |%5d %.*s%.*s\n", prefix,
                       len, name, patch->lines_added + patch->lines_deleted,
                       add, pluses, del, minuses);
-       if (qname)
-               free(qname);
+       free(qname);
 }
 
 static int read_old_data(struct stat *st, const char *path, void *buf, unsigned long size)
index a5ed8dbbac2a1320e7cf61e16eeccdf5c5cee915..76d22b47ba2906ecb59f0d8e279cf55a80bf8c86 100644 (file)
@@ -55,8 +55,7 @@ static void free_list(struct list *list)
 
        for (i = 0; i < list->nr; i++) {
                free(list->list[i]);
-               if (list->payload[i])
-                       free(list->payload[i]);
+               free(list->payload[i]);
        }
        free(list->list);
        free(list->payload);
index c4164802081e03c8061f77498e08dd2ca8501af7..6560cf1c2dd04a1ef047767a69a68bac794d7187 100644 (file)
@@ -122,10 +122,8 @@ static int get_value(const char* key_, const char* regex_)
                ret =  (seen == 1) ? 0 : 1;
 
 free_strings:
-       if (repo_config)
-               free(repo_config);
-       if (global)
-               free(global);
+       free(repo_config);
+       free(global);
        return ret;
 }
 
index bc48a3e23081264d06f2659181a19b31694dd993..7f3e1fcfb34810285815f97979e8078e2ad6209d 100644 (file)
@@ -93,10 +93,8 @@ static void show_commit(struct commit *commit)
                free_commit_list(commit->parents);
                commit->parents = NULL;
        }
-       if (commit->buffer) {
-               free(commit->buffer);
-               commit->buffer = NULL;
-       }
+       free(commit->buffer);
+       commit->buffer = NULL;
 }
 
 static void process_blob(struct blob *blob,
index 82b35624543a2e50d80cafab15b63df0152adbc0..d9f2b787b94f2506ff7842c1b7b06bd15342ba6f 100644 (file)
--- a/config.c
+++ b/config.c
@@ -361,8 +361,7 @@ int git_config(config_fn_t fn)
        }
 
        ret += git_config_from_file(fn, filename);
-       if (repo_config)
-               free(repo_config);
+       free(repo_config);
        return ret;
 }
 
@@ -734,8 +733,7 @@ int git_config_set_multivar(const char* key, const char* value,
 out_free:
        if (0 <= fd)
                close(fd);
-       if (config_filename)
-               free(config_filename);
+       free(config_filename);
        if (lock_file) {
                unlink(lock_file);
                free(lock_file);
diff --git a/fetch.c b/fetch.c
index ef60b045eaa0a55ba65499187a3aac082ffb6af2..7d3812c40606a6afad796826dd0937a92f71bc7a 100644 (file)
--- a/fetch.c
+++ b/fetch.c
@@ -302,8 +302,7 @@ int pull(int targets, char **target, const char **write_ref,
                if (ret)
                        goto unlock_and_fail;
        }
-       if (msg)
-               free(msg);
+       free(msg);
 
        return 0;
 
index 7619b338feb92a431268fc5a3963415af1b53e99..6806f3678c2878d5d2550750394a998b2c5d54db 100644 (file)
@@ -696,10 +696,8 @@ xml_start_tag(void *userData, const char *name, const char **atts)
        strcat(ctx->name, ".");
        strcat(ctx->name, c);
 
-       if (ctx->cdata) {
-               free(ctx->cdata);
-               ctx->cdata = NULL;
-       }
+       free(ctx->cdata);
+       ctx->cdata = NULL;
 
        ctx->userFunc(ctx, 0);
 }
@@ -726,8 +724,7 @@ static void
 xml_cdata(void *userData, const XML_Char *s, int len)
 {
        struct xml_ctx *ctx = (struct xml_ctx *)userData;
-       if (ctx->cdata)
-               free(ctx->cdata);
+       free(ctx->cdata);
        ctx->cdata = xmalloc(len + 1);
        strlcpy(ctx->cdata, s, len + 1);
 }
@@ -765,9 +762,7 @@ static void handle_remote_ls_ctx(struct xml_ctx *ctx, int tag_closed)
                        ls->dentry_flags |= IS_DIR;
                }
        } else if (!strcmp(ctx->name, DAV_PROPFIND_RESP)) {
-               if (ls->dentry_name) {
-                       free(ls->dentry_name);
-               }
+               free(ls->dentry_name);
                ls->dentry_name = NULL;
                ls->dentry_flags = 0;
        }
index 04cb238e965efdff564a9b57ce1253b274268c46..7814666d8df2e202c547cf05f0768bdc3830873c 100644 (file)
@@ -1238,10 +1238,8 @@ xml_start_tag(void *userData, const char *name, const char **atts)
        strcat(ctx->name, ".");
        strcat(ctx->name, c);
 
-       if (ctx->cdata) {
-               free(ctx->cdata);
-               ctx->cdata = NULL;
-       }
+       free(ctx->cdata);
+       ctx->cdata = NULL;
 
        ctx->userFunc(ctx, 0);
 }
@@ -1268,8 +1266,7 @@ static void
 xml_cdata(void *userData, const XML_Char *s, int len)
 {
        struct xml_ctx *ctx = (struct xml_ctx *)userData;
-       if (ctx->cdata)
-               free(ctx->cdata);
+       free(ctx->cdata);
        ctx->cdata = xmalloc(len + 1);
        strlcpy(ctx->cdata, s, len + 1);
 }
@@ -1518,9 +1515,7 @@ static void handle_remote_ls_ctx(struct xml_ctx *ctx, int tag_closed)
                        ls->dentry_flags |= IS_DIR;
                }
        } else if (!strcmp(ctx->name, DAV_PROPFIND_RESP)) {
-               if (ls->dentry_name) {
-                       free(ls->dentry_name);
-               }
+               free(ls->dentry_name);
                ls->dentry_name = NULL;
                ls->dentry_flags = 0;
        }
index f15a10de37bc453c3b495ef8b3d3046d3611ce2f..b1ee72d1dc25085f2114748001d21e3e518e54ee 100644 (file)
@@ -85,8 +85,7 @@ void path_list_clear(struct path_list *list, int free_items)
                        for (i = 0; i < list->nr; i++) {
                                if (list->strdup_paths)
                                        free(list->items[i].path);
-                               if (list->items[i].util)
-                                       free(list->items[i].util);
+                               free(list->items[i].util);
                        }
                free(list->items);
        }
diff --git a/refs.c b/refs.c
index e70ef0ae0fe58671a35b71a55fbf81425ee84581..aab14fc107353099756403c1bf08a0786e184d98 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -348,10 +348,8 @@ void unlock_ref(struct ref_lock *lock)
                if (lock->lk)
                        rollback_lock_file(lock->lk);
        }
-       if (lock->ref_file)
-               free(lock->ref_file);
-       if (lock->log_file)
-               free(lock->log_file);
+       free(lock->ref_file);
+       free(lock->log_file);
        free(lock);
 }