]> git.proxmox.com Git - libgit2.git/commit - tests/refs/peel.c
Reset all static variables to NULL in clar's __cleanup
authorSascha Cunz <Sascha@BabbelBox.org>
Fri, 23 Nov 2012 10:41:56 +0000 (11:41 +0100)
committerSascha Cunz <Sascha@BabbelBox.org>
Fri, 23 Nov 2012 10:41:56 +0000 (11:41 +0100)
commit9094d30b932ca4b47dba81e76011efe05455a44a
tree117c53e9ad194d00274ad98e784318bd960c4053
parent5cf1b4f094eb6f724b27aa01d4f0481de2e673af
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
53 files changed:
tests-clar/checkout/tree.c
tests-clar/clone/network.c
tests-clar/clone/nonetwork.c
tests-clar/commit/commit.c
tests-clar/commit/parent.c
tests-clar/commit/write.c
tests-clar/core/env.c
tests-clar/diff/blob.c
tests-clar/fetchhead/network.c
tests-clar/fetchhead/nonetwork.c
tests-clar/index/conflicts.c
tests-clar/index/reuc.c
tests-clar/index/stage.c
tests-clar/network/createremotethenload.c
tests-clar/network/fetch.c
tests-clar/network/remotelocal.c
tests-clar/network/remoterename.c
tests-clar/network/remotes.c
tests-clar/notes/notes.c
tests-clar/notes/notesref.c
tests-clar/object/commit/commitstagedfile.c
tests-clar/object/lookup.c
tests-clar/object/peel.c
tests-clar/object/tag/peel.c
tests-clar/object/tree/frompath.c
tests-clar/odb/mixed.c
tests-clar/odb/packed.c
tests-clar/odb/packed_one.c
tests-clar/pack/packbuilder.c
tests-clar/refs/branches/create.c
tests-clar/refs/branches/delete.c
tests-clar/refs/branches/foreach.c
tests-clar/refs/branches/ishead.c
tests-clar/refs/branches/lookup.c
tests-clar/refs/branches/move.c
tests-clar/refs/branches/tracking.c
tests-clar/refs/foreachglob.c
tests-clar/refs/peel.c
tests-clar/refs/read.c
tests-clar/refs/reflog/drop.c
tests-clar/refs/unicode.c
tests-clar/repo/head.c
tests-clar/repo/init.c
tests-clar/repo/setters.c
tests-clar/reset/hard.c
tests-clar/reset/mixed.c
tests-clar/reset/soft.c
tests-clar/revwalk/basic.c
tests-clar/revwalk/mergebase.c
tests-clar/revwalk/signatureparsing.c
tests-clar/stash/drop.c
tests-clar/stash/foreach.c
tests-clar/stash/save.c