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
}