Commit 5c5df666 by Carlos Martín Nieto

Plug some leaks

parent a8d0b4de
...@@ -229,6 +229,7 @@ int git_submodule_lookup( ...@@ -229,6 +229,7 @@ int git_submodule_lookup(
if (error < 0) { if (error < 0) {
git_submodule_free(sm); git_submodule_free(sm);
git_buf_free(&path);
return error; return error;
} }
...@@ -1699,6 +1700,8 @@ static int submodule_read_config(git_submodule *sm, git_config *cfg) ...@@ -1699,6 +1700,8 @@ static int submodule_read_config(git_submodule *sm, git_config *cfg)
* should be strcasecmp * should be strcasecmp
*/ */
if (strcmp(sm->name, value) != 0) { if (strcmp(sm->name, value) != 0) {
if (sm->path != sm->name)
git__free(sm->path);
sm->path = git__strdup(value); sm->path = git__strdup(value);
GITERR_CHECK_ALLOC(sm->path); GITERR_CHECK_ALLOC(sm->path);
} }
......
...@@ -48,6 +48,8 @@ void test_core_mkdir__absolute(void) ...@@ -48,6 +48,8 @@ void test_core_mkdir__absolute(void)
cl_assert(!git_path_isdir(path.ptr)); cl_assert(!git_path_isdir(path.ptr));
cl_git_fail(git_futils_mkdir(path.ptr, 0755, 0)); cl_git_fail(git_futils_mkdir(path.ptr, 0755, 0));
cl_assert(!git_path_isdir(path.ptr)); cl_assert(!git_path_isdir(path.ptr));
git_buf_free(&path);
} }
void test_core_mkdir__basic(void) void test_core_mkdir__basic(void)
......
...@@ -77,5 +77,10 @@ void test_index_rename__casechanging(void) ...@@ -77,5 +77,10 @@ void test_index_rename__casechanging(void)
cl_assert_equal_i(1, git_index_entrycount(index)); cl_assert_equal_i(1, git_index_entrycount(index));
else else
cl_assert_equal_i(2, git_index_entrycount(index)); cl_assert_equal_i(2, git_index_entrycount(index));
git_index_free(index);
git_repository_free(repo);
cl_fixture_cleanup("rename");
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment