From 7ccd9c31b33798824b27e4af095b52b9026a1f98 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Fri, 5 Aug 2011 03:05:22 +0200 Subject: [PATCH] channels: Fix an endless loop in case of a channel_open error. --- src/channels.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/channels.c b/src/channels.c index 97d02ff0..fb57be03 100644 --- a/src/channels.c +++ b/src/channels.c @@ -297,6 +297,10 @@ static int channel_open(ssh_channel channel, const char *type_c, int window, /* wait until channel is opened by server */ while(channel->state == SSH_CHANNEL_STATE_NOT_OPEN){ ssh_handle_packets(session, -2); + if (session->session_state == SSH_SESSION_STATE_ERROR) { + err = SSH_ERROR; + break; + } } if(channel->state == SSH_CHANNEL_STATE_OPEN) err=SSH_OK;