diff options
author | Mark Spruiell <mes@zeroc.com> | 2011-05-19 17:13:17 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2011-05-19 17:13:17 -0700 |
commit | 2db654a37a878ba508cc7cba8c87ff8aa0d8356c (patch) | |
tree | d50080d27760bfacec3899510ef5eec202a01b64 /cpp | |
parent | 5102 - test/Ice/operations don't compile with BCC 2010 (diff) | |
download | ice-2db654a37a878ba508cc7cba8c87ff8aa0d8356c.tar.bz2 ice-2db654a37a878ba508cc7cba8c87ff8aa0d8356c.tar.xz ice-2db654a37a878ba508cc7cba8c87ff8aa0d8356c.zip |
bug 5098 - leak in IceSSL::TransceiverI
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/IceSSL/TransceiverI.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/TransceiverI.cpp b/cpp/src/IceSSL/TransceiverI.cpp index 7265708a17c..52833fdea98 100644 --- a/cpp/src/IceSSL/TransceiverI.cpp +++ b/cpp/src/IceSSL/TransceiverI.cpp @@ -116,6 +116,9 @@ IceSSL::TransceiverI::initialize() if(!_ssl) { BIO_free(bio); +#ifdef ICE_USE_IOCP + BIO_free(_iocpBio); +#endif SecurityException ex(__FILE__, __LINE__); ex.reason = "openssl failure"; throw ex; @@ -300,6 +303,14 @@ IceSSL::TransceiverI::close() _ssl = 0; } +#ifdef ICE_USE_IOCP + if(_iocpBio) + { + BIO_free(_iocpBio); + _iocpBio = 0; + } +#endif + assert(_fd != INVALID_SOCKET); try { |