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>
This commit is contained in:
Jeff King 2017-09-05 09:04:14 -04:00 committed by Junio C Hamano
parent fe6a01af8a
commit baddc96b2c

View File

@ -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_add ? ADD_CACHE_OK_TO_ADD : 0;
option |= allow_replace ? ADD_CACHE_OK_TO_REPLACE : 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 error("%s: cannot add to the index - missing --add option?", path);
}
return 0; return 0;
} }