Ensure read errors result in the client closing.

This commit is contained in:
Michael Jumper 2014-01-01 20:18:43 -08:00
parent 442ed427a0
commit 735c5778db

View File

@ -457,6 +457,9 @@ void* ssh_client_thread(void* data) {
total_read += bytes_read; total_read += bytes_read;
} }
else if (bytes_read < 0 && bytes_read != LIBSSH2_ERROR_EAGAIN)
break;
#ifdef ENABLE_SSH_AGENT #ifdef ENABLE_SSH_AGENT
/* If agent open, handle any agent packets */ /* If agent open, handle any agent packets */
if (client_data->auth_agent != NULL) { if (client_data->auth_agent != NULL) {
@ -486,7 +489,8 @@ void* ssh_client_thread(void* data) {
} }
/* Wait for input thread to die */ /* Kill client and Wait for input thread to die */
guac_client_stop(client);
pthread_join(input_thread, NULL); pthread_join(input_thread, NULL);
guac_client_log_info(client, "SSH connection ended."); guac_client_log_info(client, "SSH connection ended.");