From 41b8b3326c7c9e1e05a33a8eddb2df0323bfd29b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavol=20=C5=BD=C3=A1=C4=8Dik?= Date: Tue, 21 Oct 2025 15:34:53 +0200 Subject: [PATCH] client: Reset session packet state on disconnect MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When reusing session structures for multiple connections, the packet state could be SIZE_READ before disconnect, causing initial packets of the next connection to be misinterpreted. Signed-off-by: Pavol Žáčik Reviewed-by: Jakub Jelen --- src/client.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/client.c b/src/client.c index 121a7253..ce26e9bb 100644 --- a/src/client.c +++ b/src/client.c @@ -853,6 +853,7 @@ error: session->opts.fd = SSH_INVALID_SOCKET; session->session_state = SSH_SESSION_STATE_DISCONNECTED; session->pending_call_state = SSH_PENDING_CALL_NONE; + session->packet_state = PACKET_STATE_INIT; while ((it = ssh_list_get_iterator(session->channels)) != NULL) { ssh_channel_do_free(ssh_iterator_value(ssh_channel, it));