From 3e07359a35aa3ae719dfd697211e9d1130dc94d2 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 16 Sep 2013 08:49:26 +0200 Subject: [PATCH] channels: Correctly decrement timeout value in ssh_channel_accept(). BUG: https://red.libssh.org/issues/116 --- src/channels.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/channels.c b/src/channels.c index 94611257..27a29b35 100644 --- a/src/channels.c +++ b/src/channels.c @@ -1983,8 +1983,11 @@ static ssh_channel ssh_channel_accept(ssh_session session, int channeltype, struct ssh_iterator *iterator; int t; - for (t = timeout_ms; t >= 0; t -= 50) - { + /* + * We sleep for 50 ms in ssh_handle_packets() and later sleep for + * 50 ms. So we need to decrement by 100 ms. + */ + for (t = timeout_ms; t >= 0; t -= 100) { ssh_handle_packets(session, 50); if (session->ssh_message_list) {