aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Net/IMAP/InterIMAP.pm
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 /lib/Net/IMAP/InterIMAP.pm
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.
Diffstat (limited to 'lib/Net/IMAP/InterIMAP.pm')
-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
}