- From 269a02fbb332da8faf6c2a614d45d5b5018816d1 Mon Sep 17 00:00:00 2001
- From: Remi Gacogne <rgacogne@aquaray.fr>
- Date: Thu, 28 May 2015 16:39:47 +0200
- Subject: [PATCH 11/14] MINOR: ssl: add a destructor to free allocated SSL
- ressources
-
- Using valgrind or another memory leak tracking tool is easier
- when the memory internally allocated by OpenSSL is cleanly released
- at shutdown.
- (cherry picked from commit d3a23c3eb8c0950d26204568a133207099923494)
- ---
- src/ssl_sock.c | 36 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
- diff --git a/src/ssl_sock.c b/src/ssl_sock.c
- index d0f4d01..a78fc6a 100644
- --- a/src/ssl_sock.c
- +++ b/src/ssl_sock.c
- @@ -4717,6 +4717,42 @@ static void __ssl_sock_init(void)
- cfg_register_keywords(&cfg_kws);
- }
-
- +__attribute__((destructor))
- +static void __ssl_sock_deinit(void)
- +{
- +#ifndef OPENSSL_NO_DH
- + if (local_dh_1024) {
- + DH_free(local_dh_1024);
- + local_dh_1024 = NULL;
- + }
- +
- + if (local_dh_2048) {
- + DH_free(local_dh_2048);
- + local_dh_2048 = NULL;
- + }
- +
- + if (local_dh_4096) {
- + DH_free(local_dh_4096);
- + local_dh_4096 = NULL;
- + }
- +
- + if (local_dh_8192) {
- + DH_free(local_dh_8192);
- + local_dh_8192 = NULL;
- + }
- +#endif
- +
- + ERR_remove_state(0);
- + ERR_free_strings();
- +
- + EVP_cleanup();
- +
- +#if OPENSSL_VERSION_NUMBER >= 0x00907000L
- + CRYPTO_cleanup_all_ex_data();
- +#endif
- +}
- +
- +
- /*
- * Local variables:
- * c-indent-level: 8
- --
- 2.0.5
-
|