aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2019-11-07 03:58:29 +0100
committerGuilhem Moulin <guilhem@fripost.org>2019-11-07 20:36:58 +0100
commit5b122e3a383c8e7603f1fc2322a6fe5298078a65 (patch)
treec69350828c0a5753bfabbcbf7586f01cb2c68f52
parente8c3b83914fe86edfa9c209de64fcc225c820bc7 (diff)
libinterimap: Free reference to $self in _start_ssl().
(We don't need the function anymore once the handshake is established). Otherwise the reference count of that IMAP client never gets to 0 before the global destruction phase. For interimap, this causes traffic stats to be printed not by the cleanup() function as intended, but just before the program exits.
-rw-r--r--lib/Net/IMAP/InterIMAP.pm1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Net/IMAP/InterIMAP.pm b/lib/Net/IMAP/InterIMAP.pm
index dd4134d..9c95109 100644
--- a/lib/Net/IMAP/InterIMAP.pm
+++ b/lib/Net/IMAP/InterIMAP.pm
@@ -1690,6 +1690,7 @@ sub _start_ssl($$) {
}
@$self{qw/_SSL _SSL_CTX/} = ($ssl, $ctx);
+ undef $self; # the verify callback has reference to $self, free it now
}