diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-07-19 22:50:15 +0200 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-07-19 22:50:15 +0200 |
commit | a7d9f4addd2e12e4b827cb2a262845503041699f (patch) | |
tree | fca0bb35e450b6469fded2c2d7c7b3d8ac4ed191 | |
parent | a4f4fa3058b41b1f5ef5a9a3a0bfcac32e6fd7aa (diff) | |
download | libssh-a7d9f4addd2e12e4b827cb2a262845503041699f.tar.gz libssh-a7d9f4addd2e12e4b827cb2a262845503041699f.tar.xz libssh-a7d9f4addd2e12e4b827cb2a262845503041699f.zip |
Correctly handle failed opened channels
-rw-r--r-- | libssh/channels.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libssh/channels.c b/libssh/channels.c index a0355796..0a7e5780 100644 --- a/libssh/channels.c +++ b/libssh/channels.c @@ -165,8 +165,10 @@ static int channel_open(ssh_channel channel, const char *type_c, int window, type_c, channel->local_channel); if (packet_wait(session, SSH2_MSG_CHANNEL_OPEN_CONFIRMATION, 1) != SSH_OK) { - leave_function(); - return -1; + if(session->in_packet.type != SSH2_MSG_CHANNEL_OPEN_FAILURE) { + leave_function(); + return -1; + } } switch(session->in_packet.type) { |