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>
Jeff King committed
Oct 9, 2017 at 13:48 UTC
b2401586fc5168974c77cdc6d8548c51e6c852a6
1 file changed
+1
entry.c
+1
@@ -283,6 +283,7 @@ static int write_entry(struct cache_entry *ce,
283
if (dco && dco->state != CE_NO_DELAY) {
284
/* Do not send the blob in case of a retry. */
285
if (dco->state == CE_RETRY) {
286
+ free(new);
287
new = NULL;
288
size = 0;
289
}