[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Hang in sftp_packet_read?
[Thread Prev] | [Thread Next]
- Subject: Hang in sftp_packet_read?
- From: Peter Höller <ph@xxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Fri, 13 May 2016 17:59:31 +0200
- To: libssh@xxxxxxxxxx
Hi all,
I recognised sftp.c:sftp_packet_read() to hang in case the sftp client
closes the channel. Version under test: 0.7.3.
channel.remote_eof is set to 1, consequently ssh_channel_read() returns
0 causing the do {} while in sftp_packet_read() to loop infinitely.
The patch below solves the problem for me. Could anyone please confirm
or correct me?
Thanks a lot,
--Peter
--- sftp.c 2016-05-13 15:26:20.881799804 +0200
+++ sftp.c.fix 2016-05-13 15:28:35.028430265 +0200
@@ -335,5 +335,5 @@
// 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);
| Re: Hang in sftp_packet_read? | Игорь Коваленко <igor.a.kovalenko@xxxxxxxxx> |