1
1

channel: Don't send EOF on channel more than once

Signed-off-by: Till Wimmer <g4-lisz@tonarchiv.ch>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Reviewed-by: Jakub Jelen <jjelen@redhat.com>
Этот коммит содержится в:
Till Wimmer 2019-04-09 15:57:03 +02:00 коммит произвёл Andreas Schneider
родитель 9340a0af5e
Коммит 95ab5f0dce

Просмотреть файл

@ -1195,6 +1195,11 @@ int ssh_channel_send_eof(ssh_channel channel)
return rc; return rc;
} }
/* If the EOF has already been sent we're done here. */
if (channel->local_eof != 0) {
return SSH_OK;
}
session = channel->session; session = channel->session;
err = ssh_buffer_pack(session->out_buffer, err = ssh_buffer_pack(session->out_buffer,
@ -1257,10 +1262,7 @@ int ssh_channel_close(ssh_channel channel)
session = channel->session; session = channel->session;
if (channel->local_eof == 0) {
rc = ssh_channel_send_eof(channel); rc = ssh_channel_send_eof(channel);
}
if (rc != SSH_OK) { if (rc != SSH_OK) {
return rc; return rc;
} }