diff options
author | Guilhem Moulin <guilhem@fripost.org> | 2019-11-07 03:58:29 +0100 |
---|---|---|
committer | Guilhem Moulin <guilhem@fripost.org> | 2019-11-07 20:36:58 +0100 |
commit | 5b122e3a383c8e7603f1fc2322a6fe5298078a65 (patch) | |
tree | c69350828c0a5753bfabbcbf7586f01cb2c68f52 | |
parent | e8c3b83914fe86edfa9c209de64fcc225c820bc7 (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.pm | 1 |
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 } |