git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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);
Previous: René ScharfeNext: René Scharfe
Message 6 of 9 in “Huge possible memory leak while cherry-picking.”
  1. Лежанкин ИванAug 9, 2013
  2. Felipe ContrerasAug 9, 2013
  3. Лежанкин ИванAug 12, 2013
  4. Felipe ContrerasAug 12, 2013
  5. unpack-trees: plug a memory leakRené Scharfe, Aug 13, 2013
  6. Junio C HamanoAug 13, 2013
  7. René ScharfeAug 13, 2013
  8. Junio C HamanoAug 13, 2013
  9. Felipe ContrerasAug 12, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.