Fixed crash in case of ssl error in SSLShutdown (#6662)

This commit is contained in:
Yuriy Glukhov
2017-11-01 11:16:44 +02:00
committed by Andreas Rumpf
parent e09b2d898d
commit d7b96f478b

View File

@@ -857,13 +857,16 @@ proc close*(socket: Socket) =
# shutdown i.e not wait for the peers "close notify" alert with a second
# call to SSLShutdown
let res = SSLShutdown(socket.sslHandle)
SSLFree(socket.sslHandle)
socket.sslHandle = nil
if res == 0:
discard
elif res != 1:
socketError(socket, res)
finally:
when defineSsl:
if socket.isSSL and socket.sslHandle != nil:
SSLFree(socket.sslHandle)
socket.sslHandle = nil
socket.fd.close()
proc toCInt*(opt: SOBool): cint =