diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2015-02-25 08:07:57 +0000 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2015-02-25 08:07:57 +0000 |
commit | dc8b07fe0bac01b65ac32efb9e28a855bedf3299 (patch) | |
tree | 6fbfafae12ad0e0e88696c60e8d76647690f72c6 | |
parent | 819a2a03acb6bd47c4205be900f8b3f20e17c583 (diff) | |
parent | 72e4e7291fd077530929e14e0e6507115e6e6c5d (diff) | |
download | Nim-dc8b07fe0bac01b65ac32efb9e28a855bedf3299.tar.gz |
Merge pull request #2210 from wiffel/devel
Add SSLFree after SLShutdown to prevent memory leak
-rw-r--r-- | lib/pure/net.nim | 2 | ||||
-rw-r--r-- | lib/pure/sockets.nim | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/pure/net.nim b/lib/pure/net.nim index 5e5c4f8ec..bed751542 100644 --- a/lib/pure/net.nim +++ b/lib/pure/net.nim @@ -454,6 +454,8 @@ 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: diff --git a/lib/pure/sockets.nim b/lib/pure/sockets.nim index 8ac5d4f09..3afb545c8 100644 --- a/lib/pure/sockets.nim +++ b/lib/pure/sockets.nim @@ -657,6 +657,8 @@ proc close*(socket: Socket) = when defined(ssl): if socket.isSSL: discard SSLShutdown(socket.sslHandle) + SSLFree(socket.sslHandle) + socket.sslHandle = nil proc getServByName*(name, proto: string): Servent {.tags: [ReadIOEffect].} = ## Searches the database from the beginning and finds the first entry for |