Merge pull request #266 from carlosmn/valgrind

Plug memory leaks
This commit is contained in:
Vicent Martí 2011-06-17 10:32:22 -07:00
commit 2414d000a1
3 changed files with 14 additions and 1 deletions

View File

@ -986,10 +986,19 @@ static int config_write(diskfile_backend *cfg, cvar_t *var)
break; break;
} }
} else { } else {
int cmp;
pre_end = cfg->reader.read_ptr; pre_end = cfg->reader.read_ptr;
error = parse_variable(cfg, &var_name, &var_value); error = parse_variable(cfg, &var_name, &var_value);
if (error < GIT_SUCCESS || strcasecmp(var->name, var_name)) if (error == GIT_SUCCESS)
cmp = strcasecmp(var->name, var_name);
free(var_name);
free(var_value);
if (error < GIT_SUCCESS || cmp)
break; break;
post_start = cfg->reader.read_ptr; post_start = cfg->reader.read_ptr;
} }
@ -1060,6 +1069,7 @@ static int config_write(diskfile_backend *cfg, cvar_t *var)
else else
error = git_filebuf_commit(&file); error = git_filebuf_commit(&file);
gitfo_free_buf(&cfg->reader.buffer);
return error; return error;
} }

View File

@ -208,6 +208,7 @@ BEGIN_TEST(add0, "add a new file to the index")
/* And the built-in hashing mechanism worked as expected */ /* And the built-in hashing mechanism worked as expected */
must_be_true(git_oid_cmp(&id1, &entry->oid) == 0); must_be_true(git_oid_cmp(&id1, &entry->oid) == 0);
git_index_free(index);
git_repository_free(repo); git_repository_free(repo);
rmdir_recurs(TEMP_REPO_FOLDER); rmdir_recurs(TEMP_REPO_FOLDER);
END_TEST END_TEST

View File

@ -355,6 +355,7 @@ BEGIN_TEST(discover0, "test discover")
must_pass(git_repository_init(&repo, DISCOVER_FOLDER, 1)); must_pass(git_repository_init(&repo, DISCOVER_FOLDER, 1));
must_pass(git_repository_discover(repository_path, sizeof(repository_path), DISCOVER_FOLDER, 0, ceiling_dirs)); must_pass(git_repository_discover(repository_path, sizeof(repository_path), DISCOVER_FOLDER, 0, ceiling_dirs));
git_repository_free(repo);
must_pass(git_repository_init(&repo, SUB_REPOSITORY_FOLDER, 0)); must_pass(git_repository_init(&repo, SUB_REPOSITORY_FOLDER, 0));
must_pass(gitfo_mkdir_recurs(SUB_REPOSITORY_FOLDER_SUB_SUB_SUB, mode)); must_pass(gitfo_mkdir_recurs(SUB_REPOSITORY_FOLDER_SUB_SUB_SUB, mode));
@ -402,6 +403,7 @@ BEGIN_TEST(discover0, "test discover")
must_pass(ensure_repository_discover(REPOSITORY_ALTERNATE_FOLDER_SUB_SUB_SUB, ceiling_dirs, repository_path)); must_pass(ensure_repository_discover(REPOSITORY_ALTERNATE_FOLDER_SUB_SUB_SUB, ceiling_dirs, repository_path));
rmdir_recurs(DISCOVER_FOLDER); rmdir_recurs(DISCOVER_FOLDER);
git_repository_free(repo);
END_TEST END_TEST
BEGIN_SUITE(repository) BEGIN_SUITE(repository)