Commit 82ccb87ef6b861ce681a869e1b8e0928e6b5f3fb

Carlos Martín Nieto 2012-02-23T22:56:04

tree: break out on write error If write_tree() returs an error, we used to set the error message and continued looping. Exit the loop so we return the error.

1
2
3
4
5
6
7
8
9
10
11
12
diff --git a/src/tree.c b/src/tree.c
index aeef677..19681e3 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -363,6 +363,7 @@ static int write_tree(
 			written = write_tree(&sub_oid, repo, index, subdir, i);
 			if (written < 0) {
 				error = git__rethrow(written, "Failed to write subtree %s", subdir);
+				goto cleanup;
 			} else {
 				i = written - 1; /* -1 because of the loop increment */
 			}