diff options
author | Matt Caswell <matt@openssl.org> | 2016-03-11 21:53:18 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2016-04-14 13:19:04 +0100 |
commit | ff2344052bfa0132260ee3154962a2552f3d95f5 (patch) | |
tree | 4ab28127a480a46064e730088339e4fe6dbd7cfc /crypto/ex_data.c | |
parent | 085b3860651e2ff55e28f8a28a1f66b1a3fe538f (diff) |
Ensure all locks are properly cleaned up
Some locks were not being properly cleaned up during close down.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'crypto/ex_data.c')
-rw-r--r-- | crypto/ex_data.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/crypto/ex_data.c b/crypto/ex_data.c index 44dc46b782..c607f87d65 100644 --- a/crypto/ex_data.c +++ b/crypto/ex_data.c @@ -108,7 +108,7 @@ * */ -#include "internal/cryptlib.h" +#include "internal/cryptlib_int.h" #include "internal/threads.h" #include <openssl/lhash.h> @@ -139,9 +139,13 @@ static CRYPTO_ONCE ex_data_init = CRYPTO_ONCE_STATIC_INIT; static void do_ex_data_init(void) { - CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE); ex_data_lock = CRYPTO_THREAD_lock_new(); - CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE); +} + +void ex_data_cleanup(void) +{ + CRYPTO_THREAD_lock_free(ex_data_lock); + ex_data_lock = NULL; } /* |