summaryrefslogtreecommitdiffstats
path: root/crypto/init.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2016-03-11 22:53:18 +0100
committerMatt Caswell <matt@openssl.org>2016-04-14 14:19:04 +0200
commitff2344052bfa0132260ee3154962a2552f3d95f5 (patch)
tree4ab28127a480a46064e730088339e4fe6dbd7cfc /crypto/init.c
parentFix the spelling of "implement". (diff)
downloadopenssl-ff2344052bfa0132260ee3154962a2552f3d95f5.tar.xz
openssl-ff2344052bfa0132260ee3154962a2552f3d95f5.zip
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/init.c')
-rw-r--r--crypto/init.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/crypto/init.c b/crypto/init.c
index f44e3a84f2..48f74c496c 100644
--- a/crypto/init.c
+++ b/crypto/init.c
@@ -468,9 +468,13 @@ void OPENSSL_cleanup(void)
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"bio_sock_cleanup_int()\n");
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
+ "bio_cleanup()\n");
+ fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"evp_cleanup_int()\n");
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"obj_cleanup_int()\n");
+ fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
+ "err_cleanup()\n");
#endif
/*
* Note that cleanup order is important:
@@ -489,11 +493,11 @@ void OPENSSL_cleanup(void)
engine_cleanup_int();
#endif
crypto_cleanup_all_ex_data_int();
-#ifndef OPENSSL_NO_SOCK
- bio_sock_cleanup_int();
-#endif
+ bio_cleanup();
evp_cleanup_int();
obj_cleanup_int();
+ err_cleanup();
+
base_inited = 0;
}