Commit fac42ff9426fccff4a6781fc5678b12e18326fe8

Patrick Steinhardt 2016-02-08T16:58:08

merge: fix memory leak

diff --git a/src/merge.c b/src/merge.c
index 61ff93c..70c705a 100644
--- a/src/merge.c
+++ b/src/merge.c
@@ -1985,9 +1985,6 @@ static int create_virtual_base(
 	git_index *index = NULL;
 	git_merge_options virtual_opts = GIT_MERGE_OPTIONS_INIT;
 
-	result = git__calloc(1, sizeof(git_annotated_commit));
-	GITERR_CHECK_ALLOC(result);
-
 	/* Conflicts in the merge base creation do not propagate to conflicts
 	 * in the result; the conflicted base will act as the common ancestor.
 	 */
@@ -2001,6 +1998,8 @@ static int create_virtual_base(
 			recursion_level + 1, &virtual_opts)) < 0)
 		return -1;
 
+	result = git__calloc(1, sizeof(git_annotated_commit));
+	GITERR_CHECK_ALLOC(result);
 	result->type = GIT_ANNOTATED_COMMIT_VIRTUAL;
 	result->index = index;