diff options
| author | Yoshinobu Inoue <shin@FreeBSD.org> | 2000-01-13 14:21:30 +0000 |
|---|---|---|
| committer | Yoshinobu Inoue <shin@FreeBSD.org> | 2000-01-13 14:21:30 +0000 |
| commit | 21ab895ff5601b46a4c36934f309ecb087a0d076 (patch) | |
| tree | a702c954967ea5bc96646b517e05a0296e3daf14 | |
| parent | 4d02bbec4fbbed97223d6097b258f639d485009b (diff) | |
Notes
| -rw-r--r-- | sys/netinet/tcp_subr.c | 5 | ||||
| -rw-r--r-- | sys/netinet/tcp_timewait.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 811f34c0d730..9ab1dbde51bf 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -451,14 +451,17 @@ tcp_respond(tp, ipgen, th, m, ack, seq, flags) #ifdef INET6 if (isipv6) { (void)ip6_output(m, NULL, ro6, ipflags, NULL, NULL); - if (ro6 == &sro6 && ro6->ro_rt) + if (ro6 == &sro6 && ro6->ro_rt) { RTFREE(ro6->ro_rt); + ro6->ro_rt = NULL; + } } else #endif /* INET6 */ { (void) ip_output(m, NULL, ro, ipflags, NULL); if (ro == &sro && ro->ro_rt) { RTFREE(ro->ro_rt); + ro->ro_rt = NULL; } } } diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c index 811f34c0d730..9ab1dbde51bf 100644 --- a/sys/netinet/tcp_timewait.c +++ b/sys/netinet/tcp_timewait.c @@ -451,14 +451,17 @@ tcp_respond(tp, ipgen, th, m, ack, seq, flags) #ifdef INET6 if (isipv6) { (void)ip6_output(m, NULL, ro6, ipflags, NULL, NULL); - if (ro6 == &sro6 && ro6->ro_rt) + if (ro6 == &sro6 && ro6->ro_rt) { RTFREE(ro6->ro_rt); + ro6->ro_rt = NULL; + } } else #endif /* INET6 */ { (void) ip_output(m, NULL, ro, ipflags, NULL); if (ro == &sro && ro->ro_rt) { RTFREE(ro->ro_rt); + ro->ro_rt = NULL; } } } |
