fast-import: leakfix for 'ls' of dirty trees

When the chosen directory has changed since it was last written to pack, "tree_content_get" makes a deep copy of its content to scribble on while computing the tree name, which we forgot to free. This leak has been present since the 'ls' command was introduced in v1.7.5-rc0~3^2~33 (fast-import: add 'ls' command, 2010-12-02). Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

Jonathan Nieder committed Mar 9, 2012 at 21:20 UTC c27e559da5b26faa31858fe6dc5492d4f605b867
1 file changed +2
fast-import.c
+2
@@ -2987,6 +2987,8 @@ static void parse_ls(struct branch *b)
2987 store_tree(&leaf);
2988
2989 print_ls(leaf.versions[1].mode, leaf.versions[1].sha1, p);
2990 + if (leaf.tree)
2991 + release_tree_content_recursive(leaf.tree);
2992 if (!b || root != &b->branch_tree)
2993 release_tree_entry(root);
2994 }