Commit cdca82c7842ade2074f37be22f2251d6a9040a9d

Carlos Martín Nieto 2012-06-20T00:46:26

Plug a few leaks

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)