From 424222f4157b050fd6417b8805796f7183a38e03 Mon Sep 17 00:00:00 2001 From: Jiri Pospisil Date: Fri, 25 Apr 2014 15:49:26 +0200 Subject: [PATCH 1/2] Filter: Make sure to release local on error --- src/filter.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/filter.c b/src/filter.c index ff81eb14e..b2f57964a 100644 --- a/src/filter.c +++ b/src/filter.c @@ -617,7 +617,7 @@ int git_filter_list_apply_to_data( si = di; /* swap buffers */ } else { tgt->size = 0; - return error; + goto cleanup; } } @@ -625,9 +625,10 @@ int git_filter_list_apply_to_data( if (si != 1) git_buf_swap(dbuffer[0], dbuffer[1]); +cleanup: git_buf_free(&local); /* don't leak if we allocated locally */ - return 0; + return error; } int git_filter_list_apply_to_file( From 7b8d564d5da4745e9227676a8768b3b48ca3dff8 Mon Sep 17 00:00:00 2001 From: Jiri Pospisil Date: Fri, 25 Apr 2014 15:49:58 +0200 Subject: [PATCH 2/2] Reset tests: Use sandboxed index --- tests/reset/default.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tests/reset/default.c b/tests/reset/default.c index ecb3e7f9f..c76f14813 100644 --- a/tests/reset/default.c +++ b/tests/reset/default.c @@ -185,23 +185,20 @@ void test_reset_default__resetting_unknown_filepaths_does_not_fail(void) void test_reset_default__staged_rename_reset_delete(void) { - git_index *idx; git_index_entry entry; const git_index_entry *existing; char *paths[] = { "new.txt" }; initialize("testrepo2"); - cl_git_pass(git_repository_index(&idx, _repo)); - - existing = git_index_get_bypath(idx, "new.txt", 0); + existing = git_index_get_bypath(_index, "new.txt", 0); cl_assert(existing); memcpy(&entry, existing, sizeof(entry)); - cl_git_pass(git_index_remove_bypath(idx, "new.txt")); + cl_git_pass(git_index_remove_bypath(_index, "new.txt")); entry.path = "renamed.txt"; - cl_git_pass(git_index_add(idx, &entry)); + cl_git_pass(git_index_add(_index, &entry)); _pathspecs.strings = paths; _pathspecs.count = 1;