diff options
author | Jeff King <peff@peff.net> | 2017-09-05 09:04:14 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-09-06 18:06:26 +0900 |
commit | baddc96b2cbf66fdcde87509392dc8da6a77f452 (patch) | |
tree | ee56f396652711e330338db066b2a3babf3f2b07 /builtin | |
parent | add: free leaked pathspec after add_files_to_cache() (diff) | |
download | tgif-baddc96b2cbf66fdcde87509392dc8da6a77f452.tar.xz |
update-index: fix cache entry leak in add_one_file()
When we fail to add the cache entry to the index, we end up
just leaking the struct. We should follow the pattern of the
early-return above and free it.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/update-index.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin/update-index.c b/builtin/update-index.c index d562f2ec69..d955cd56b3 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -287,8 +287,10 @@ static int add_one_path(const struct cache_entry *old, const char *path, int len } option = allow_add ? ADD_CACHE_OK_TO_ADD : 0; option |= allow_replace ? ADD_CACHE_OK_TO_REPLACE : 0; - if (add_cache_entry(ce, option)) + if (add_cache_entry(ce, option)) { + free(ce); return error("%s: cannot add to the index - missing --add option?", path); + } return 0; } |