remote: fix a couple of leaks
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
diff --git a/src/fetch.c b/src/fetch.c
index 19afddc..2765918 100644
--- a/src/fetch.c
+++ b/src/fetch.c
@@ -72,7 +72,10 @@ static int filter_wants(git_remote *remote)
if ((error = git_refspec__parse(&head, "HEAD", true)) < 0)
goto cleanup;
- if ((error = git_refspec__dwim_one(&remote->active_refspecs, &head, &remote->refs)) < 0)
+ error = git_refspec__dwim_one(&remote->active_refspecs, &head, &remote->refs);
+ git_refspec__free(&head);
+
+ if (error < 0)
goto cleanup;
}
diff --git a/src/remote.c b/src/remote.c
index 289ead8..dcadb92 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -726,9 +726,6 @@ int git_remote_download(git_remote *remote)
assert(remote);
- if (git_vector_init(&refs, 8, remote_head_cmp) < 0)
- return -1;
-
if (git_remote_ls((const git_remote_head ***)&refs.contents, &refs.length, remote) < 0)
return -1;
@@ -983,9 +980,6 @@ int git_remote_update_tips(git_remote *remote)
if (git_refspec__parse(&tagspec, GIT_REFSPEC_TAGS, true) < 0)
return -1;
- if (git_vector_init(&refs, 16, NULL) < 0)
- return -1;
-
if ((error = git_remote_ls((const git_remote_head ***)&refs.contents, &refs.length, remote)) < 0)
goto out;