Re: [PATCH 1/3] write_entry: fix leak when retrying delayed filter
Jeff King <peff@peff.net> writes:
Show 23 quoted lines
> 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>
> ---
> entry.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/entry.c b/entry.c
> index ab79f1f69c..637c5958b0 100644
> --- a/entry.c
> +++ b/entry.c
> @@ -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;
> }Looks good to me. Thanks.