diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2014-06-25 21:25:44 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2014-06-25 21:25:44 +0200 |
commit | 966fb207021830819aad9fce098b4a63838def4d (patch) | |
tree | d3cd8ff93ac56b53c73dd06ab21614e6f6b5b59c /src/tree.c | |
parent | 5e0f47c3753c5ddd206ab3af6d2a231ad3da39c4 (diff) | |
download | libgit2-966fb207021830819aad9fce098b4a63838def4d.tar.gz |
tree: free in error conditions
As reported by coverity, we would leak some memory in error conditions.
Diffstat (limited to 'src/tree.c')
-rw-r--r-- | src/tree.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/tree.c b/src/tree.c index e0e2dbebf..28190d6da 100644 --- a/src/tree.c +++ b/src/tree.c @@ -466,6 +466,7 @@ static int append_entry( git_strmap_insert(bld->map, entry->filename, entry, error); if (error < 0) { + git_tree_entry_free(entry); giterr_set(GITERR_TREE, "failed to append entry %s to the tree builder", filename); return -1; } @@ -622,6 +623,7 @@ int git_treebuilder_create(git_treebuilder **builder_p, const git_tree *source) GITERR_CHECK_ALLOC(bld); if (git_strmap_alloc(&bld->map) < 0) { + git__free(bld); return -1; } |