aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/channels.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/channels.c b/src/channels.c
index c62da229..6412a863 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -1327,7 +1327,9 @@ int channel_write_common(ssh_channel channel, const void *data,
"Wait for a growing window message...");
rc = ssh_handle_packets_termination(session, SSH_TIMEOUT_DEFAULT,
ssh_channel_waitwindow_termination,channel);
- if (rc == SSH_ERROR || !ssh_channel_waitwindow_termination(channel))
+ if (rc == SSH_ERROR ||
+ !ssh_channel_waitwindow_termination(channel) ||
+ channel->session->session_state == SSH_SESSION_STATE_ERROR)
goto out;
continue;
}