Import Debian changes 4.89-2+deb9u4
[hcoop/debian/exim4.git] / debian / patches / 94_Fix-memory-leak-on-Gnu-TLS-close.patch
diff --git a/debian/patches/94_Fix-memory-leak-on-Gnu-TLS-close.patch b/debian/patches/94_Fix-memory-leak-on-Gnu-TLS-close.patch
deleted file mode 100644 (file)
index c6456d9..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-From 867e8fe25dbfb1e31493488ad695bde55b890397 Mon Sep 17 00:00:00 2001
-From: "Heiko Schlittermann (HS12-RIPE)" <hs@schlittermann.de>
-Date: Wed, 23 Nov 2016 12:02:26 +0100
-Subject: [PATCH] Fix memory leak on (Gnu)TLS close.
-
-This leak doesn't show up under normal operation, as the process
-normally dies right after closing the session.
-
-But during callout repetitive TLS sessions are opened and closed from
-the same process (the process receiving the message). Depending on
-the amount of RAM and the number of callouts the same process does,
-this may be a problem. (On an amd64 machine with 4GB RAM, at about 1000
-recipients the memory is exhausted.)
-
-(cherry picked from commit ed62aae3051c9a713d35c8ae516fbd193d1401ba)
----
- src/tls-gnu.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/tls-gnu.c b/src/tls-gnu.c
-index 61ed0e81..670f8cbc 100644
---- a/src/tls-gnu.c
-+++ b/src/tls-gnu.c
-@@ -1729,6 +1729,7 @@ if (rc != GNUTLS_E_SUCCESS)
-   if (!sigalrm_seen)
-     {
-+    gnutls_certificate_free_credentials(state->x509_cred);
-     (void)fclose(smtp_out);
-     (void)fclose(smtp_in);
-     }
-@@ -2014,6 +2015,8 @@ if (shutdown)
-   }
- gnutls_deinit(state->session);
-+gnutls_certificate_free_credentials(state->x509_cred);
-+
- state->tlsp->active = -1;
- memcpy(state, &exim_gnutls_state_init, sizeof(exim_gnutls_state_init));
-@@ -2074,6 +2077,8 @@ if (state->xfer_buffer_lwm >= state->xfer_buffer_hwm)
-     receive_smtp_buffered = smtp_buffered;
-     gnutls_deinit(state->session);
-+    gnutls_certificate_free_credentials(state->x509_cred);
-+
-     state->session = NULL;
-     state->tlsp->active = -1;
-     state->tlsp->bits = 0;
--- 
-2.11.0
-