summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2015-03-25 02:22:42 +0100
committerCarlos Martín Nieto <cmn@dwim.me>2015-03-25 02:22:42 +0100
commit585094cc4638fafe1884bb6f4c2fa291e8111222 (patch)
tree2cde928d0174f62bbd2f9d016a7f5ffb887d14a7
parentc5e071873c1aa4a751202aedeefac7ddb982576c (diff)
parent78db0239db2f5aafe2031cb4b3ce540deb6e8907 (diff)
downloadlibgit2-585094cc4638fafe1884bb6f4c2fa291e8111222.tar.gz
Merge pull request #3017 from ethomson/leaks
squash some leaks
-rw-r--r--src/refs.c8
-rw-r--r--src/repository.c2
-rw-r--r--tests/filter/file.c2
3 files changed, 7 insertions, 5 deletions
diff --git a/src/refs.c b/src/refs.c
index 360e65373..ff5e24067 100644
--- a/src/refs.c
+++ b/src/refs.c
@@ -1052,12 +1052,10 @@ static int get_terminal(git_reference **out, git_repository *repo, const char *r
error = 0;
} else {
error = get_terminal(out, repo, git_reference_symbolic_target(ref), nesting + 1);
- if (error == GIT_ENOTFOUND) {
- if (!*out) /* set by the error case in lookup above */
- *out = ref;
- } else {
+ if (error == GIT_ENOTFOUND && !*out)
+ *out = ref;
+ else
git_reference_free(ref);
- }
}
return error;
diff --git a/src/repository.c b/src/repository.c
index 6a80070d1..7cffc9f6b 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -133,7 +133,9 @@ void git_repository_free(git_repository *repo)
for (i = 0; i < repo->reserved_names.size; i++)
git_buf_free(git_array_get(repo->reserved_names, i));
+ git_array_clear(repo->reserved_names);
+ git__free(repo->path_gitlink);
git__free(repo->path_repository);
git__free(repo->workdir);
git__free(repo->namespace);
diff --git a/tests/filter/file.c b/tests/filter/file.c
index 865c416c5..8243a026a 100644
--- a/tests/filter/file.c
+++ b/tests/filter/file.c
@@ -64,6 +64,7 @@ int buf_writestream_write(git_writestream *s, const char *buf, size_t len)
int buf_writestream_close(git_writestream *s)
{
+ GIT_UNUSED(s);
return 0;
}
@@ -94,4 +95,5 @@ void test_filter_file__apply_stream(void)
cl_assert_equal_s("crlf\ncrlf\ncrlf\ncrlf\n", write_target.buf.ptr);
git_filter_list_free(fl);
+ write_target.base.free((struct git_writestream *)&write_target);
}