summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoshinobu Inoue <shin@FreeBSD.org>2000-01-13 14:21:30 +0000
committerYoshinobu Inoue <shin@FreeBSD.org>2000-01-13 14:21:30 +0000
commit21ab895ff5601b46a4c36934f309ecb087a0d076 (patch)
treea702c954967ea5bc96646b517e05a0296e3daf14
parent4d02bbec4fbbed97223d6097b258f639d485009b (diff)
Notes
-rw-r--r--sys/netinet/tcp_subr.c5
-rw-r--r--sys/netinet/tcp_timewait.c5
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;
}
}
}