diff options
author | Sascha Cunz <Sascha@BabbelBox.org> | 2012-11-23 14:41:56 +0400 |
---|---|---|
committer | Sascha Cunz <Sascha@BabbelBox.org> | 2012-11-23 14:41:56 +0400 |
commit | 9094d30b932ca4b47dba81e76011efe05455a44a (patch) | |
tree | 117c53e9ad194d00274ad98e784318bd960c4053 /tests-clar/revwalk | |
parent | 5cf1b4f094eb6f724b27aa01d4f0481de2e673af (diff) |
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/revwalk')
-rw-r--r-- | tests-clar/revwalk/basic.c | 2 | ||||
-rw-r--r-- | tests-clar/revwalk/mergebase.c | 1 | ||||
-rw-r--r-- | tests-clar/revwalk/signatureparsing.c | 3 |
3 files changed, 6 insertions, 0 deletions
diff --git a/tests-clar/revwalk/basic.c b/tests-clar/revwalk/basic.c index 126ca7d9f..438ec0162 100644 --- a/tests-clar/revwalk/basic.c +++ b/tests-clar/revwalk/basic.c @@ -103,7 +103,9 @@ void test_revwalk_basic__initialize(void) void test_revwalk_basic__cleanup(void) { git_revwalk_free(_walk); + _walk = NULL; git_repository_free(_repo); + _repo = NULL; } void test_revwalk_basic__sorting_modes(void) diff --git a/tests-clar/revwalk/mergebase.c b/tests-clar/revwalk/mergebase.c index 84349010a..268574eb6 100644 --- a/tests-clar/revwalk/mergebase.c +++ b/tests-clar/revwalk/mergebase.c @@ -12,6 +12,7 @@ void test_revwalk_mergebase__initialize(void) void test_revwalk_mergebase__cleanup(void) { git_repository_free(_repo); + _repo = NULL; } void test_revwalk_mergebase__single1(void) diff --git a/tests-clar/revwalk/signatureparsing.c b/tests-clar/revwalk/signatureparsing.c index 94de1a343..cf1d31e43 100644 --- a/tests-clar/revwalk/signatureparsing.c +++ b/tests-clar/revwalk/signatureparsing.c @@ -12,7 +12,10 @@ void test_revwalk_signatureparsing__initialize(void) void test_revwalk_signatureparsing__cleanup(void) { git_revwalk_free(_walk); + _walk = NULL; + git_repository_free(_repo); + _repo = NULL; } void test_revwalk_signatureparsing__do_not_choke_when_name_contains_angle_brackets(void) |