diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2018-12-12 18:30:26 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-12-13 21:30:35 +0100 |
commit | fded1fb9eb672f9946fafbb43bfe1e8121e812d9 (patch) | |
tree | 9729969c88a3bfe74d087a4cb0e1b4530377e729 | |
parent | a6e055c42b34ec50f55606312b09ec2e14990416 (diff) | |
download | libssh-fded1fb9eb672f9946fafbb43bfe1e8121e812d9.tar.gz libssh-fded1fb9eb672f9946fafbb43bfe1e8121e812d9.tar.xz libssh-fded1fb9eb672f9946fafbb43bfe1e8121e812d9.zip |
channels: Don't call ssh_channel_close() twice
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 6cd8d4a24aa067d16611eb64bf306b7853748f34)
-rw-r--r-- | src/channels.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/channels.c b/src/channels.c index 0c0bd44c..b94016f1 100644 --- a/src/channels.c +++ b/src/channels.c @@ -1160,6 +1160,11 @@ int ssh_channel_close(ssh_channel channel) return SSH_ERROR; } + /* If the channel close has already been sent we're done here. */ + if (channel->flags & SSH_CHANNEL_FLAG_CLOSED_LOCAL) { + return SSH_OK; + } + session = channel->session; if (channel->local_eof == 0) { |