diff options
-rw-r--r-- | src/channels.c | 4 |
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; } |