From: René Scharfe Date: Tue, 13 Aug 2013 18:27:58 GMT Subject: [PATCH] unpack-trees: plug a memory leak Message-ID: <520A7AAE.6010309@web.de> In-Reply-To: From: Felipe Contreras Before overwriting the destination index, first let's discard its contents. Signed-off-by: Felipe Contreras Tested-by: Лежанкин Иван 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