aboutsummaryrefslogtreecommitdiffstats
path: root/package/dropbear/patches/160-writechannel.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/dropbear/patches/160-writechannel.patch')
-rw-r--r--package/dropbear/patches/160-writechannel.patch12
1 files changed, 12 insertions, 0 deletions
diff --git a/package/dropbear/patches/160-writechannel.patch b/package/dropbear/patches/160-writechannel.patch
new file mode 100644
index 0000000000..0e84a9953e
--- /dev/null
+++ b/package/dropbear/patches/160-writechannel.patch
@@ -0,0 +1,12 @@
+diff -urN dropbear-0.47.orig/common-channel.c dropbear-0.47/common-channel.c
+--- dropbear-0.47.orig/common-channel.c 2005-12-09 06:42:31.000000000 +0100
++++ dropbear-0.47/common-channel.c 2006-02-05 00:03:37.000000000 +0100
+@@ -377,7 +377,7 @@
+ cbuf_incrread(cbuf, len);
+ channel->recvdonelen += len;
+
+- if (fd == channel->writefd && len == maxlen && channel->recveof) {
++ if (fd == channel->writefd && len == maxlen && channel->recveof && cbuf_getused(channel->writebuf) == 0) {
+ /* Check if we're closing up */
+ closewritefd(channel);
+ TRACE(("leave writechannel: recveof set"))