*** cpp/src/IceSSL/TransceiverI.cpp 2010-06-03 09:48:33.000000000 -0700 --- TransceiverI.cpp 2011-05-19 17:08:05.359375000 -0700 *************** *** 116,121 **** --- 116,124 ---- if(!_ssl) { BIO_free(bio); + #ifdef ICE_USE_IOCP + BIO_free(_iocpBio); + #endif SecurityException ex(__FILE__, __LINE__); ex.reason = "openssl failure"; throw ex; *************** *** 293,298 **** --- 296,309 ---- _ssl = 0; } + #ifdef ICE_USE_IOCP + if(_iocpBio) + { + BIO_free(_iocpBio); + _iocpBio = 0; + } + #endif + assert(_fd != INVALID_SOCKET); try {