- [PATCH 1/2] BUG/MEDIUM: stats: properly initialize the scope before - [PATCH 2/2] BUG/MEDIUM: http: don't forward client shutdown without - [PATCH 3/8] BUG/MINOR: check: fix tcpcheck error message - [PATCH 4/8] CLEANUP: checks: fix double usage of cur / current_step - [PATCH 5/8] BUG/MEDIUM: checks: do not dereference head of a - [PATCH 6/8] CLEANUP: checks: simplify the loop processing of - [PATCH 7/8] BUG/MAJOR: checks: always check for end of list before - [PATCH 8/8] BUG/MEDIUM: checks: do not dereference a list as a - [PATCH 09/10] BUG/MEDIUM: peers: apply a random reconnection timeout - [PATCH 10/10] DOC: Update doc about weight, act and bck fields in the - [PATCH 11/14] MINOR: ssl: add a destructor to free allocated SSL - [PATCH 12/14] BUG/MEDIUM: ssl: fix tune.ssl.default-dh-param value - [PATCH 13/14] BUG/MINOR: cfgparse: fix typo in 'option httplog' error - [PATCH 14/14] BUG/MEDIUM: cfgparse: segfault when userlist is misused Signed-off-by: heil <heil@terminal-consulting.de>
64 lines
1.6 KiB
Diff
64 lines
1.6 KiB
Diff
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
|
|
|