Plug a few 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 41 42 43 44
diff --git a/src/revparse.c b/src/revparse.c
index 1f0e7da..c275b55 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -552,6 +552,7 @@ static int oid_for_tree_path(git_oid *out, git_tree *tree, git_repository *repo,
if (!entry) {
giterr_set(GITERR_INVALID, "Invalid tree path '%s'", path);
+ git__free(alloc);
return GIT_ERROR;
}
@@ -622,6 +623,7 @@ static int revparse_global_grep(git_object **out, git_repository *repo, const ch
}
if (!resultobj) {
giterr_set(GITERR_REFERENCE, "Couldn't find a match for %s", pattern);
+ git_object_free(walkobj);
} else {
*out = resultobj;
}
diff --git a/tests-clar/core/env.c b/tests-clar/core/env.c
index 9361341..a2a65be 100644
--- a/tests-clar/core/env.c
+++ b/tests-clar/core/env.c
@@ -112,4 +112,6 @@ void test_core_env__1(void)
cl_assert(git_futils_find_system_file(&path, "nonexistentfile") == -1);
#endif
+
+ git_buf_free(&path);
}
diff --git a/tests-clar/diff/workdir.c b/tests-clar/diff/workdir.c
index 0c17eeb..801439e 100644
--- a/tests-clar/diff/workdir.c
+++ b/tests-clar/diff/workdir.c
@@ -409,6 +409,8 @@ void test_diff_workdir__head_index_and_workdir_all_differ(void)
git_diff_list_free(diff_i2t);
git_diff_list_free(diff_w2i);
+
+ git_tree_free(tree);
}
void test_diff_workdir__eof_newline_changes(void)