diff --git a/src/client.c b/src/client.c index 4e2a299d..a41764f1 100644 --- a/src/client.c +++ b/src/client.c @@ -720,7 +720,10 @@ ssh_disconnect(ssh_session session) } ssh_packet_send(session); - ssh_socket_close(session->socket); + /* Do not close the socket, if the fd was set via options. */ + if (session->opts.fd == SSH_INVALID_SOCKET) { + ssh_socket_close(session->socket); + } } error: