Clean up some leaks in the test suite
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
diff --git a/src/path.c b/src/path.c
index d29b992..760efec 100644
--- a/src/path.c
+++ b/src/path.c
@@ -1088,8 +1088,10 @@ int git_path_dirload(
entry_path[path_len] = '/';
memcpy(&entry_path[path_len + need_slash], de_path, de_len);
- if ((error = git_vector_insert(contents, entry_path)) < 0)
+ if ((error = git_vector_insert(contents, entry_path)) < 0) {
+ git__free(entry_path);
break;
+ }
}
closedir(dir);
diff --git a/tests/network/remote/remotes.c b/tests/network/remote/remotes.c
index d176774..df424e9 100644
--- a/tests/network/remote/remotes.c
+++ b/tests/network/remote/remotes.c
@@ -547,6 +547,7 @@ void test_network_remote_remotes__single_branch(void)
}
cl_assert_equal_i(1, count);
+ git_strarray_free(&refs);
git_repository_free(repo);
}
diff --git a/tests/repo/init.c b/tests/repo/init.c
index 999afd6..189b089 100644
--- a/tests/repo/init.c
+++ b/tests/repo/init.c
@@ -423,6 +423,7 @@ void test_repo_init__relative_gitdir_2(void)
/* make the directory first, then it should succeed */
cl_git_pass(git_repository_init_ext(&_repo, "root/b/my_repository", &opts));
+ git_buf_free(&full_path);
cl_assert(!git__suffixcmp(git_repository_workdir(_repo), "root/b/c_wd/"));
cl_assert(!git__suffixcmp(git_repository_path(_repo), "root/b/my_repository/"));
diff --git a/tests/transport/register.c b/tests/transport/register.c
index 937194c..ea917d5 100644
--- a/tests/transport/register.c
+++ b/tests/transport/register.c
@@ -47,6 +47,7 @@ void test_transport_register__custom_transport_ssh(void)
cl_git_fail_with(git_transport_new(&transport, NULL, "git@somehost:somepath"), -1);
#else
cl_git_pass(git_transport_new(&transport, NULL, "git@somehost:somepath"));
+ transport->free(transport);
#endif
cl_git_pass(git_transport_register("ssh", dummy_transport, NULL));
@@ -62,5 +63,6 @@ void test_transport_register__custom_transport_ssh(void)
cl_git_fail_with(git_transport_new(&transport, NULL, "git@somehost:somepath"), -1);
#else
cl_git_pass(git_transport_new(&transport, NULL, "git@somehost:somepath"));
+ transport->free(transport);
#endif
}