openssl: Properly cleanup OpenSSL library

This commit is contained in:
Tobias Brunner 2013-04-17 11:35:18 +02:00
parent 02116fdc2d
commit 651d5ab8e7
2 changed files with 7 additions and 9 deletions

View File

@ -14,6 +14,7 @@
* for more details. * for more details.
*/ */
#include <openssl/err.h>
#include <openssl/evp.h> #include <openssl/evp.h>
#include <openssl/conf.h> #include <openssl/conf.h>
#include <openssl/rand.h> #include <openssl/rand.h>
@ -445,11 +446,15 @@ METHOD(plugin_t, get_features, int,
METHOD(plugin_t, destroy, void, METHOD(plugin_t, destroy, void,
private_openssl_plugin_t *this) private_openssl_plugin_t *this)
{ {
CONF_modules_free();
OBJ_cleanup();
EVP_cleanup();
#ifndef OPENSSL_NO_ENGINE #ifndef OPENSSL_NO_ENGINE
ENGINE_cleanup(); ENGINE_cleanup();
#endif /* OPENSSL_NO_ENGINE */ #endif /* OPENSSL_NO_ENGINE */
EVP_cleanup(); CRYPTO_cleanup_all_ex_data();
CONF_modules_free(); ERR_remove_thread_state(NULL);
ERR_free_strings();
threading_cleanup(); threading_cleanup();

View File

@ -475,13 +475,6 @@ char *whitelist[] = {
"Curl_client_write", "Curl_client_write",
/* ClearSilver */ /* ClearSilver */
"nerr_init", "nerr_init",
/* OpenSSL */
"RSA_new_method",
"DH_new_method",
"ENGINE_load_builtin_engines",
"OPENSSL_config",
"ecdsa_check",
"ERR_put_error",
/* libgcrypt */ /* libgcrypt */
"gcry_control", "gcry_control",
"gcry_check_version", "gcry_check_version",