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

[PATCH] unpack-trees: plug a memory leak

From
René Scharfe <l.s.r@web.de>
Date
Aug 13, 2013, 18:27 UTC
Message-ID
<520A7AAE.6010309@web.de>
In-Reply-To
<CAMP44s1CAMPWXDSAc7WHahmrKRrB8aG_H9fnXAMi2LFOGy5EdA@mail.gmail.com>
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").
 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);
-- 
1.8.3.3
Previous: Felipe ContrerasNext: Junio C Hamano
Message 5 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.