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:39:32 +0200 |
commit | dbf72ffba2ad5b5694cd55aa1a7ca99053d20386 (patch) | |
tree | b77f19a25b70d6f0d5cd9ba41d290017625480d3 | |
parent | 47d21b642094286fb22693cac75200e8e670ad78 (diff) | |
download | libssh-dbf72ffba2ad5b5694cd55aa1a7ca99053d20386.tar.gz libssh-dbf72ffba2ad5b5694cd55aa1a7ca99053d20386.tar.xz libssh-dbf72ffba2ad5b5694cd55aa1a7ca99053d20386.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>
-rw-r--r-- | src/sftp.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -322,7 +322,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; |