diff options
-rw-r--r-- | src/channels.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/channels.c b/src/channels.c index a8aaa5e7..f0cc84a4 100644 --- a/src/channels.c +++ b/src/channels.c @@ -1126,9 +1126,7 @@ int channel_write_common(ssh_channel channel, const void *data, ssh_session session; int origlen = len; size_t effectivelen; - /* handle the max packet len from remote side, be nice */ - /* 10 bytes for the headers */ - size_t maxpacketlen = channel->remote_maxpacket - 10; + size_t maxpacketlen; if(channel == NULL || data == NULL) { return -1; @@ -1140,6 +1138,12 @@ int channel_write_common(ssh_channel channel, const void *data, } enter_function(); + /* + * Handle the max packet len from remote side, be nice + * 10 bytes for the headers + */ + maxpacketlen = channel->remote_maxpacket - 10; + if (channel->local_eof) { ssh_set_error(session, SSH_REQUEST_DENIED, "Can't write to channel %d:%d after EOF was sent", |