1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-09-11 13:30:43 +03:00

Do not close socket passed through options on error conditions

Fixes: #244

Signed-off-by: Jakub Jelen <jjelen@redhat.com>
Reviewed-by: Sahana Prasad <sahana@redhat.com>
This commit is contained in:
Jakub Jelen
2024-03-13 11:20:24 +01:00
parent 9d5c31205c
commit 07cb0be12f
4 changed files with 20 additions and 12 deletions

View File

@@ -486,9 +486,7 @@ static void ssh_client_connection_callback(ssh_session session)
return;
error:
ssh_socket_close(session->socket);
session->alive = 0;
session->session_state = SSH_SESSION_STATE_ERROR;
ssh_session_socket_close(session);
SSH_LOG(SSH_LOG_WARN, "%s", ssh_get_error(session));
}
@@ -798,10 +796,7 @@ ssh_disconnect(ssh_session session)
}
ssh_packet_send(session);
/* Do not close the socket, if the fd was set via options. */
if (session->opts.fd == SSH_INVALID_SOCKET) {
ssh_socket_close(session->socket);
}
ssh_session_socket_close(session);
}
error: