From 651d5ab8e72f2dd2ce40544b59d974007afdc880 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 17 Apr 2013 11:35:18 +0200 Subject: openssl: Properly cleanup OpenSSL library --- src/libstrongswan/plugins/openssl/openssl_plugin.c | 9 +++++++-- src/libstrongswan/utils/leak_detective.c | 7 ------- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'src/libstrongswan') diff --git a/src/libstrongswan/plugins/openssl/openssl_plugin.c b/src/libstrongswan/plugins/openssl/openssl_plugin.c index 97d57471d..2371008fd 100644 --- a/src/libstrongswan/plugins/openssl/openssl_plugin.c +++ b/src/libstrongswan/plugins/openssl/openssl_plugin.c @@ -14,6 +14,7 @@ * for more details. */ +#include #include #include #include @@ -445,11 +446,15 @@ METHOD(plugin_t, get_features, int, METHOD(plugin_t, destroy, void, private_openssl_plugin_t *this) { + CONF_modules_free(); + OBJ_cleanup(); + EVP_cleanup(); #ifndef OPENSSL_NO_ENGINE ENGINE_cleanup(); #endif /* OPENSSL_NO_ENGINE */ - EVP_cleanup(); - CONF_modules_free(); + CRYPTO_cleanup_all_ex_data(); + ERR_remove_thread_state(NULL); + ERR_free_strings(); threading_cleanup(); diff --git a/src/libstrongswan/utils/leak_detective.c b/src/libstrongswan/utils/leak_detective.c index 26e3e43fc..4f3c9f78b 100644 --- a/src/libstrongswan/utils/leak_detective.c +++ b/src/libstrongswan/utils/leak_detective.c @@ -475,13 +475,6 @@ char *whitelist[] = { "Curl_client_write", /* ClearSilver */ "nerr_init", - /* OpenSSL */ - "RSA_new_method", - "DH_new_method", - "ENGINE_load_builtin_engines", - "OPENSSL_config", - "ecdsa_check", - "ERR_put_error", /* libgcrypt */ "gcry_control", "gcry_check_version", -- cgit v1.2.3