Fixed writechannel bug as described in ticket in #246, now closed

SVN-Revision: 3131
owl
Florian Fainelli 2006-02-04 23:12:51 +00:00
parent 4439059ff1
commit 7fbe0ed3f8
1 changed files with 12 additions and 0 deletions

View File

@ -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"))