diff --git a/lib/ssh.c b/lib/ssh.c index a0ca4c5..9e10317 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -2458,7 +2458,7 @@ static CURLcode ssh_easy_statemach(struct connectdata *conn, return CURLE_ABORTED_BY_CALLBACK; left = Curl_timeleft(conn, NULL, duringconnect); - if(left < 0) { + if((left < 0) || (sshc->state == SSH_SESSION_DISCONNECT) || (sshc->state == SSH_SFTP_SHUTDOWN)){ failf(data, "Operation timed out\n"); return CURLE_OPERATION_TIMEDOUT; }