Re: [PATCH] unpack-trees: plug a memory leak
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 13, 2013, 21:12 UTC
- Message-ID
- <7va9klwb03.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <520A7AAE.6010309@web.de>
René Scharfe <l.s.r@web.de> writes:
Show 12 quoted lines
> From: Felipe Contreras <felipe.contreras@gmail.com> > > Before overwriting the destination index, first let's discard its > contents. > > Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> > Tested-by: Лежанкин Иван <abyss.7@gmail.com> wrote: > --- > Felipe sent this patch as part of multiple series in June, but it can > stand on its own. This version is trivially rebased against master. > The leak seems to have been introduced by 34110cd4 (2008-03-06, > "Make 'unpack_trees()' have a separate source and destination index").
It was lost in the follow-up discussion and I missed it.
I assume that this is signed-off by you as a forwarder? I'd prefer to even mark it Reviewed-by: you.
Thanks.
Show 19 quoted lines
> unpack-trees.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/unpack-trees.c b/unpack-trees.c
> index bf01717..1a61e6f 100644
> --- a/unpack-trees.c
> +++ b/unpack-trees.c
> @@ -1154,8 +1154,10 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
>
> o->src_index = NULL;
> ret = check_updates(o) ? (-2) : 0;
> - if (o->dst_index)
> + if (o->dst_index) {
> + discard_index(o->dst_index);
> *o->dst_index = o->result;
> + }
>
> done:
> clear_exclude_list(&el);