M pc/devhard.c => pc/devhard.c +1 -1
@@ 43,7 43,7 @@ enum
Qdir= 0,
Maxxfer= 4*1024, /* maximum transfer size/cmd */
- Maxread= 4*1024, /* maximum transfer size/read */
+ Maxread= 1*1024, /* maximum transfer size/read */
Npart= 8+2, /* 8 sub partitions, disk, and partition */
Nrepl= 16, /* maximum replacement blocks */
};
M port/tcpinput.c => port/tcpinput.c +4 -1
@@ 372,6 372,7 @@ tcp_input(Ipconv *ipc, Block *bp)
case Last_ack:
update(s, &seg);
if(tcb->sndcnt == 0) {
+ freeb(bp);
close_self(s, Enoerror);
goto done;
}
@@ 389,7 390,9 @@ tcp_input(Ipconv *ipc, Block *bp)
else if(seq_gt(tcb->rcv.nxt, tcb->rcv.up))
tcb->rcv.up = tcb->rcv.nxt;
- if(length != 0) {
+ if(length == 0)
+ freeb(bp);
+ else {
switch(tcb->state){
default:
/* Ignore segment text */