summaryrefslogtreecommitdiff
path: root/clientloop.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2014-05-15 13:48:49 +1000
committerDamien Miller <djm@mindrot.org>2014-05-15 13:48:49 +1000
commitc5893785564498cea73cb60d2cf199490483e080 (patch)
treefe539bd8702dcad444521c656dce2aa8ea65d483 /clientloop.c
parent633de33b192d808d87537834c316dc8b75fe1880 (diff)
- djm@cvs.openbsd.org 2014/04/29 13:10:30
[clientloop.c serverloop.c] bz#1818 - don't send channel success/failre replies on channels that have sent a close already; analysis and patch from Simon Tatham; ok markus@
Diffstat (limited to 'clientloop.c')
-rw-r--r--clientloop.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/clientloop.c b/clientloop.c
index 59ad3a2c3..203151ea8 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: clientloop.c,v 1.258 2014/02/02 03:44:31 djm Exp $ */ 1/* $OpenBSD: clientloop.c,v 1.259 2014/04/29 13:10:30 djm Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -2054,7 +2054,7 @@ client_input_channel_req(int type, u_int32_t seq, void *ctxt)
2054 } 2054 }
2055 packet_check_eom(); 2055 packet_check_eom();
2056 } 2056 }
2057 if (reply && c != NULL) { 2057 if (reply && c != NULL && !(c->flags & CHAN_CLOSE_SENT)) {
2058 packet_start(success ? 2058 packet_start(success ?
2059 SSH2_MSG_CHANNEL_SUCCESS : SSH2_MSG_CHANNEL_FAILURE); 2059 SSH2_MSG_CHANNEL_SUCCESS : SSH2_MSG_CHANNEL_FAILURE);
2060 packet_put_int(c->remote_id); 2060 packet_put_int(c->remote_id);