Merge pull request #528 from arrbee/valgrind-fixes-2 Valgrind fixes in smaller pieces
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
diff --git a/src/config.c b/src/config.c
index 1338ef3..a0ae4cb 100644
--- a/src/config.c
+++ b/src/config.c
@@ -120,7 +120,7 @@ int git_config_add_file(git_config *cfg, git_config_file *file, int priority)
assert(cfg && file);
if ((error = file->open(file)) < GIT_SUCCESS)
- return git__rethrow(error, "Failed to open config file");
+ return git__throw(error, "Failed to open config file");
internal = git__malloc(sizeof(file_internal));
if (internal == NULL)
diff --git a/src/index.c b/src/index.c
index 9f9a08f..9e88012 100644
--- a/src/index.c
+++ b/src/index.c
@@ -510,6 +510,7 @@ int git_index_append2(git_index *index, const git_index_entry *source_entry)
int git_index_remove(git_index *index, int position)
{
+ int error;
git_index_entry *entry;
git_vector_sort(&index->entries);
@@ -517,7 +518,12 @@ int git_index_remove(git_index *index, int position)
if (entry != NULL)
git_tree_cache_invalidate_path(index->tree, entry->path);
- return git_vector_remove(&index->entries, (unsigned int)position);
+ error = git_vector_remove(&index->entries, (unsigned int)position);
+
+ if (error == GIT_SUCCESS)
+ index_entry_free(entry);
+
+ return error;
}
int git_index_find(git_index *index, const char *path)
diff --git a/tests-clay/object/commit/commitstagedfile.c b/tests-clay/object/commit/commitstagedfile.c
index fd149bf..764013b 100644
--- a/tests-clay/object/commit/commitstagedfile.c
+++ b/tests-clay/object/commit/commitstagedfile.c
@@ -7,7 +7,6 @@ void test_object_commit_commitstagedfile__initialize(void)
{
cl_fixture("treebuilder");
cl_git_pass(git_repository_init(&repo, "treebuilder/", 0));
- cl_git_pass(git_repository_open(&repo, "treebuilder/.git"));
cl_assert(repo != NULL);
}