diff options
author | Jeremy Cross <JCross@bomgar.com> | 2016-07-25 22:55:04 +0000 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2016-09-09 11:40:07 +0200 |
commit | 6697f85b5053e36a880f725ea87d1fbba5ee0563 (patch) | |
tree | 523800ef7c678e83b68a349faf285e52b8318878 | |
parent | 67fe6f56eabb121072c7607e534a965bdfe12a03 (diff) | |
download | libssh-6697f85b5053e36a880f725ea87d1fbba5ee0563.tar.gz libssh-6697f85b5053e36a880f725ea87d1fbba5ee0563.tar.xz libssh-6697f85b5053e36a880f725ea87d1fbba5ee0563.zip |
sftp: ensure sftp_packet_read recognizes channel EOF to avoid infinite loop
Signed-off-by: Jeremy Cross <jcross@bomgar.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit dbf72ffba2ad5b5694cd55aa1a7ca99053d20386)
-rw-r--r-- | src/sftp.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -334,7 +334,7 @@ sftp_packet sftp_packet_read(sftp_session sftp) { do { // read from channel until 4 bytes have been read or an error occurs s=ssh_channel_read(sftp->channel, buffer+r, 4-r, 0); - if (s < 0) { + if (s <= 0) { ssh_buffer_free(packet->payload); SAFE_FREE(packet); return NULL; |