From: Jeff King Date: Tue, 05 Sep 2017 13:04:14 GMT Subject: [PATCH 04/10] update-index: fix cache entry leak in add_one_file() Message-ID: <20170905130413.eyifiklpr53s5kg4@sigill.intra.peff.net> In-Reply-To: <20170905130149.agc3zp3s6i6e5aki@sigill.intra.peff.net> 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 --- builtin/update-index.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/builtin/update-index.c b/builtin/update-index.c index 655e6d60d3..bf7420b808 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; } -- 2.14.1.721.gc5bc1565f1