summaryrefslogtreecommitdiff
path: root/os
diff options
context:
space:
mode:
Diffstat (limited to 'os')
-rw-r--r--os/ip/tcp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/os/ip/tcp.c b/os/ip/tcp.c
index c6e0a54f..08eeaf82 100644
--- a/os/ip/tcp.c
+++ b/os/ip/tcp.c
@@ -1317,8 +1317,9 @@ tcphangup(Conv *s)
tcb = (Tcpctl*)s->ptcl;
if(waserror())
return commonerror();
- if(s->raddr != 0) {
+ if(ipcmp(s->raddr, IPnoaddr) != 0) {
if(!waserror()){
+ memset(&seg, 0, sizeof seg);
seg.flags = RST | ACK;
seg.ack = tcb->rcv.nxt;
tcb->rcv.una = 0;