From fac42ff9426fccff4a6781fc5678b12e18326fe8 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 8 Feb 2016 16:58:08 +0100 Subject: [PATCH 1/2] merge: fix memory leak --- src/merge.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/merge.c b/src/merge.c index 61ff93c19..70c705af6 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; From a001846b25124a47ed96f865548b5321202d51ae Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 8 Feb 2016 17:05:57 +0100 Subject: [PATCH 2/2] curl_stream: fix unused cert infos When copying contents of the cURL certiinfo we duplicate the data but forget to actually put it into the vector. --- src/curl_stream.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/curl_stream.c b/src/curl_stream.c index 9f8b202a8..9963d94cc 100644 --- a/src/curl_stream.c +++ b/src/curl_stream.c @@ -79,6 +79,7 @@ static int curls_certificate(git_cert **out, git_stream *stream) for (slist = certinfo->certinfo[0]; slist; slist = slist->next) { char *str = git__strdup(slist->data); GITERR_CHECK_ALLOC(str); + git_vector_insert(&strings, str); } /* Copy the contents of the vector into a strarray so we can expose them */