summaryrefslogtreecommitdiff
path: root/tests-clar/refs/branches
diff options
context:
space:
mode:
authorSascha Cunz <Sascha@BabbelBox.org>2012-11-23 11:41:56 +0100
committerSascha Cunz <Sascha@BabbelBox.org>2012-11-23 11:41:56 +0100
commit9094d30b932ca4b47dba81e76011efe05455a44a (patch)
tree117c53e9ad194d00274ad98e784318bd960c4053 /tests-clar/refs/branches
parent5cf1b4f094eb6f724b27aa01d4f0481de2e673af (diff)
downloadlibgit2-9094d30b932ca4b47dba81e76011efe05455a44a.tar.gz
Reset all static variables to NULL in clar's __cleanup
Without this change, any failed assertion in the second (or a later) test inside a test suite has a chance of double deleting memory, resulting in a heap corruption. See #1096 for details. This leaves alone the test cases where we "just" use cl_git_sandbox_init() and cl_git_sandbox_cleanup(). These methods already take good care to not double delete a repository. Fixes #1096
Diffstat (limited to 'tests-clar/refs/branches')
-rw-r--r--tests-clar/refs/branches/create.c4
-rw-r--r--tests-clar/refs/branches/delete.c3
-rw-r--r--tests-clar/refs/branches/foreach.c3
-rw-r--r--tests-clar/refs/branches/ishead.c3
-rw-r--r--tests-clar/refs/branches/lookup.c2
-rw-r--r--tests-clar/refs/branches/move.c2
-rw-r--r--tests-clar/refs/branches/tracking.c2
7 files changed, 19 insertions, 0 deletions
diff --git a/tests-clar/refs/branches/create.c b/tests-clar/refs/branches/create.c
index 9026b0de1..5ecb42848 100644
--- a/tests-clar/refs/branches/create.c
+++ b/tests-clar/refs/branches/create.c
@@ -16,9 +16,13 @@ void test_refs_branches_create__initialize(void)
void test_refs_branches_create__cleanup(void)
{
git_reference_free(branch);
+ branch = NULL;
git_object_free(target);
+ target = NULL;
+
git_repository_free(repo);
+ repo = NULL;
cl_fixture_cleanup("testrepo.git");
}
diff --git a/tests-clar/refs/branches/delete.c b/tests-clar/refs/branches/delete.c
index da7db13fc..75271a21c 100644
--- a/tests-clar/refs/branches/delete.c
+++ b/tests-clar/refs/branches/delete.c
@@ -20,7 +20,10 @@ void test_refs_branches_delete__initialize(void)
void test_refs_branches_delete__cleanup(void)
{
git_reference_free(fake_remote);
+ fake_remote = NULL;
+
git_repository_free(repo);
+ repo = NULL;
cl_fixture_cleanup("testrepo.git");
}
diff --git a/tests-clar/refs/branches/foreach.c b/tests-clar/refs/branches/foreach.c
index 92d5b1f65..dfa04395b 100644
--- a/tests-clar/refs/branches/foreach.c
+++ b/tests-clar/refs/branches/foreach.c
@@ -18,7 +18,10 @@ void test_refs_branches_foreach__initialize(void)
void test_refs_branches_foreach__cleanup(void)
{
git_reference_free(fake_remote);
+ fake_remote = NULL;
+
git_repository_free(repo);
+ repo = NULL;
cl_fixture_cleanup("testrepo.git");
}
diff --git a/tests-clar/refs/branches/ishead.c b/tests-clar/refs/branches/ishead.c
index 52a0a1941..2ab488f22 100644
--- a/tests-clar/refs/branches/ishead.c
+++ b/tests-clar/refs/branches/ishead.c
@@ -13,7 +13,10 @@ void test_refs_branches_ishead__initialize(void)
void test_refs_branches_ishead__cleanup(void)
{
git_reference_free(branch);
+ branch = NULL;
+
git_repository_free(repo);
+ repo = NULL;
}
void test_refs_branches_ishead__can_tell_if_a_branch_is_pointed_at_by_HEAD(void)
diff --git a/tests-clar/refs/branches/lookup.c b/tests-clar/refs/branches/lookup.c
index 2aabf9889..d07ed0ed8 100644
--- a/tests-clar/refs/branches/lookup.c
+++ b/tests-clar/refs/branches/lookup.c
@@ -14,8 +14,10 @@ void test_refs_branches_lookup__initialize(void)
void test_refs_branches_lookup__cleanup(void)
{
git_reference_free(branch);
+ branch = NULL;
git_repository_free(repo);
+ repo = NULL;
}
void test_refs_branches_lookup__can_retrieve_a_local_branch(void)
diff --git a/tests-clar/refs/branches/move.c b/tests-clar/refs/branches/move.c
index 042469016..4bf1d69d0 100644
--- a/tests-clar/refs/branches/move.c
+++ b/tests-clar/refs/branches/move.c
@@ -15,6 +15,8 @@ void test_refs_branches_move__initialize(void)
void test_refs_branches_move__cleanup(void)
{
git_reference_free(ref);
+ ref = NULL;
+
cl_git_sandbox_cleanup();
}
diff --git a/tests-clar/refs/branches/tracking.c b/tests-clar/refs/branches/tracking.c
index 9cf435e88..9378ecad5 100644
--- a/tests-clar/refs/branches/tracking.c
+++ b/tests-clar/refs/branches/tracking.c
@@ -14,8 +14,10 @@ void test_refs_branches_tracking__initialize(void)
void test_refs_branches_tracking__cleanup(void)
{
git_reference_free(branch);
+ branch = NULL;
git_repository_free(repo);
+ repo = NULL;
}
void test_refs_branches_tracking__can_retrieve_the_remote_tracking_reference_of_a_local_branch(void)