aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorSeigo Tanimura <tanimura@FreeBSD.org>2006-05-23 00:32:22 +0000
committerSeigo Tanimura <tanimura@FreeBSD.org>2006-05-23 00:32:22 +0000
commitf8366b033414af59db3e8e452397bc4ccbeb414f (patch)
tree1cfb91e149b27e203a800b02e548a410b561fca9 /sys/netinet6
parent9c8c02e7a0c120c8b25323b7024d152793325ffc (diff)
Notes
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/in6_src.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet6/in6_src.c b/sys/netinet6/in6_src.c
index bedb3a4cb88f..be3e0f8b75b0 100644
--- a/sys/netinet6/in6_src.c
+++ b/sys/netinet6/in6_src.c
@@ -650,7 +650,7 @@ in6_selectif(dstsock, opts, mopts, ro, retifp)
if ((error = selectroute(dstsock, opts, mopts, ro, retifp,
&rt, 0, 1)) != 0) {
- if (rt && rt == sro.ro_rt)
+ if (ro == &sro && rt && rt == sro.ro_rt)
RTFREE(rt);
return (error);
}
@@ -675,7 +675,7 @@ in6_selectif(dstsock, opts, mopts, ro, retifp)
if (rt && (rt->rt_flags & (RTF_REJECT | RTF_BLACKHOLE))) {
int flags = (rt->rt_flags & RTF_HOST ? EHOSTUNREACH : ENETUNREACH);
- if (rt && rt == sro.ro_rt)
+ if (ro == &sro && rt && rt == sro.ro_rt)
RTFREE(rt);
return (flags);
}
@@ -690,7 +690,7 @@ in6_selectif(dstsock, opts, mopts, ro, retifp)
if (rt && rt->rt_ifa && rt->rt_ifa->ifa_ifp)
*retifp = rt->rt_ifa->ifa_ifp;
- if (rt && rt == sro.ro_rt)
+ if (ro == &sro && rt && rt == sro.ro_rt)
RTFREE(rt);
return (0);
}