Fix memory leak in git_tree_walk on error or when stopping the walk from the supplied callback

This commit is contained in:
wilke 2013-09-13 21:36:39 +02:00
parent 4e01e3029b
commit d7fc2eb29b

View File

@ -907,11 +907,12 @@ static int tree_walk(
return -1;
error = tree_walk(subtree, callback, path, payload, preorder);
git_tree_free(subtree);
if (error != 0)
break;
git_buf_truncate(path, path_len);
git_tree_free(subtree);
}
if (!preorder && callback(path->ptr, entry, payload) < 0) {