From 9abe591843b92cc73b8015cc910a058445e4139c Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 8 Oct 2012 19:39:21 +0200 Subject: client: Check return value of ssh_handle_packets_termination. Found by Coverity. --- src/client.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/client.c b/src/client.c index eaef21c7..331d3c21 100644 --- a/src/client.c +++ b/src/client.c @@ -535,18 +535,21 @@ pending: timeout = 10 * 1000; } ssh_log(session,SSH_LOG_PACKET,"ssh_connect: Actual timeout : %d", timeout); - ssh_handle_packets_termination(session, timeout, ssh_connect_termination, session); - if(!ssh_connect_termination(session)){ + ret = ssh_handle_packets_termination(session, timeout, ssh_connect_termination, session); + if (ret == SSH_ERROR || !ssh_connect_termination(session)) { ssh_set_error(session, SSH_FATAL, "Timeout connecting to %s", session->opts.host); session->session_state = SSH_SESSION_STATE_ERROR; } } else { - ssh_handle_packets_termination(session, - SSH_TIMEOUT_NONBLOCKING, - ssh_connect_termination, - session); + ret = ssh_handle_packets_termination(session, + SSH_TIMEOUT_NONBLOCKING, + ssh_connect_termination, + session); + if (ret == SSH_ERROR) { + session->session_state = SSH_SESSION_STATE_ERROR; + } } ssh_log(session,SSH_LOG_PACKET,"ssh_connect: Actual state : %d",session->session_state); if(!ssh_is_blocking(session) && !ssh_connect_termination(session)){ -- cgit v1.2.3