diff options
author | Jeff King <peff@peff.net> | 2017-10-09 13:48:24 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-10-10 08:59:02 +0900 |
commit | b2401586fc5168974c77cdc6d8548c51e6c852a6 (patch) | |
tree | bf88aa75e5ab37518b653729cc7d8a1587f86c99 | |
parent | entry.c: check if file exists after checkout (diff) | |
download | tgif-b2401586fc5168974c77cdc6d8548c51e6c852a6.tar.xz |
write_entry: fix leak when retrying delayed filter
When write_entry() retries a delayed filter request, we
don't need to send the blob content to the filter again, and
set the pointer to NULL. But doing so means we leak the
contents we read earlier from read_blob_entry(). Let's make
sure to free it before dropping the pointer.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | entry.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -283,6 +283,7 @@ static int write_entry(struct cache_entry *ce, if (dco && dco->state != CE_NO_DELAY) { /* Do not send the blob in case of a retry. */ if (dco->state == CE_RETRY) { + free(new); new = NULL; size = 0; } |