Subject: Re: [PATCH v2 07/21] bisect: plug the biggest memory leak

From: Junio C Hamano <[email-masked]>
Date: Fri, 15 Apr 2016 14:18:32 -0700

Stephan Beyer <[email-masked]> writes:

> Signed-off-by: Stephan Beyer <[email-masked]>
> ---
>  bisect.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/bisect.c b/bisect.c
> index 7996c29..901e4d3 100644
> --- a/bisect.c
> +++ b/bisect.c
> @@ -984,6 +984,8 @@ int bisect_next_all(const char *prefix, int no_checkout)
>  		exit(10);
>  	}
>  
> +	free_commit_list(revs.commits);
> +
>  	nr = all - reaches - 1;
>  	steps = estimate_bisect_steps(all);
>  	printf("Bisecting: %d revision%s left to test after this "

While I do not think this is wrong per-se (i.e. it is clear that we
no longer need revs.commits), after this the function will return to
the top-level caller and exit immediately, and I do not see anything
that desperately wants to use as much memory as available (i.e. would
be helped by this piece of memory released early).  "the biggest"
may be an overstatement ;-)