From 7ff69d9c48d9dd727650a6966cbc3b104fda1d5f Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Thu, 9 Jun 2011 23:27:41 +0200 Subject: [PATCH] packet: Abort session on fatal errors on packets --- src/packet.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/packet.c b/src/packet.c index 99760dff..a670b693 100644 --- a/src/packet.c +++ b/src/packet.c @@ -136,7 +136,8 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user) size_t processed=0; /* number of byte processed from the callback */ enter_function(); - + if (session->session_state == SSH_SESSION_STATE_ERROR) + goto error; switch(session->packet_state) { case PACKET_STATE_INIT: if(receivedlen < blocksize){ @@ -289,6 +290,7 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user) session->packet_state); error: + session->session_state= SSH_SESSION_STATE_ERROR; leave_function(); return processed; }