From 09556895b77219bc29494084344b0babe14fff04 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Sun, 6 Jan 2013 14:40:32 +0100 Subject: [PATCH 1/4] travis: Include the online suite when running against Travis --- .travis.yml | 2 +- CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8ce490356..c1e349023 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ script: # Run Tests after_script: - - if [ -f ./libgit2_clar ]; then valgrind --leak-check=full --show-reachable=yes --suppressions=../libgit2_clar.supp ./libgit2_clar -iall; else echo "Skipping valgrind"; fi + - if [ -f ./libgit2_clar ]; then valgrind --leak-check=full --show-reachable=yes --suppressions=../libgit2_clar.supp ./libgit2_clar -ionline; else echo "Skipping valgrind"; fi # Only watch the development branch branches: diff --git a/CMakeLists.txt b/CMakeLists.txt index 742365281..ef49386c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -268,7 +268,7 @@ IF (BUILD_CLAR) ENDIF () ENABLE_TESTING() - ADD_TEST(libgit2_clar libgit2_clar) + ADD_TEST(libgit2_clar libgit2_clar -ionline) ENDIF () IF (TAGS) From d1aee4775aba1a320cb3bb12753168ce8a35fb74 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Sun, 6 Jan 2013 15:09:27 +0100 Subject: [PATCH 2/4] clone: Fix a memory leak --- src/clone.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/clone.c b/src/clone.c index ff586a68a..c2e724c74 100644 --- a/src/clone.c +++ b/src/clone.c @@ -333,6 +333,7 @@ static int setup_remotes_and_fetch( } git_remote_disconnect(origin); } + git_remote_free(origin); } return retcode; From b97fabfad590e01a4ee5e75ea5f5a3fbb41d85e4 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Sun, 6 Jan 2013 15:18:00 +0100 Subject: [PATCH 3/4] tests: Fix some memory leaks --- tests-clar/checkout/tree.c | 6 ++++++ tests-clar/clone/nonetwork.c | 2 ++ tests-clar/config/backend.c | 2 ++ 3 files changed, 10 insertions(+) diff --git a/tests-clar/checkout/tree.c b/tests-clar/checkout/tree.c index 691f03dc0..30887588f 100644 --- a/tests-clar/checkout/tree.c +++ b/tests-clar/checkout/tree.c @@ -67,6 +67,9 @@ void test_checkout_tree__can_checkout_and_remove_directory(void) cl_assert_equal_i(true, git_path_isfile("./testrepo/ab/de/2.txt")); cl_assert_equal_i(true, git_path_isfile("./testrepo/ab/de/fgh/1.txt")); + git_object_free(g_object); + g_object = NULL; + /* Checkout brach "master" and update HEAD, so that HEAD matches the * current working tree */ @@ -136,6 +139,9 @@ void test_checkout_tree__doesnt_write_unrequested_files_to_worktree(void) opts.checkout_strategy = GIT_CHECKOUT_NONE; git_checkout_tree(g_repo, (git_object*)p_chomped_commit, &opts); cl_assert_equal_i(false, git_path_isfile("testrepo/readme.txt")); + + git_commit_free(p_master_commit); + git_commit_free(p_chomped_commit); } void test_checkout_tree__can_switch_branches(void) diff --git a/tests-clar/clone/nonetwork.c b/tests-clar/clone/nonetwork.c index b99c29dcf..9d22b7356 100644 --- a/tests-clar/clone/nonetwork.c +++ b/tests-clar/clone/nonetwork.c @@ -144,6 +144,8 @@ void test_clone_nonetwork__custom_autotag(void) cl_git_pass(git_tag_list(&tags, g_repo)); cl_assert_equal_i(0, tags.count); + + git_strarray_free(&tags); } void test_clone_nonetwork__cope_with_already_existing_directory(void) diff --git a/tests-clar/config/backend.c b/tests-clar/config/backend.c index 65dbccc60..28502a8ba 100644 --- a/tests-clar/config/backend.c +++ b/tests-clar/config/backend.c @@ -18,4 +18,6 @@ void test_config_backend__checks_version(void) cl_git_fail(git_config_add_backend(cfg, &backend, 0, false)); err = giterr_last(); cl_assert_equal_i(GITERR_INVALID, err->klass); + + git_config_free(cfg); } From d01fe380610da0687eecdba61369393d49830cfe Mon Sep 17 00:00:00 2001 From: nulltoken Date: Sun, 6 Jan 2013 15:26:54 +0100 Subject: [PATCH 4/4] reset: Fix a memory leak --- src/reset.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/reset.c b/src/reset.c index f5daa8f55..307e67260 100644 --- a/src/reset.c +++ b/src/reset.c @@ -107,8 +107,7 @@ int git_reset( if (reset_type > GIT_RESET_SOFT) { /* reset index to the target content */ - if ((error = git_repository_index(&index, repo)) < 0 || - (error = git_index_read_tree(index, tree)) < 0 || + if ((error = git_index_read_tree(index, tree)) < 0 || (error = git_index_write(index)) < 0) goto cleanup;