summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/in6_src.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2003-10-23 21:41:00 +0000
committersam <sam@FreeBSD.org>2003-10-23 21:41:00 +0000
commit090c7c6e677e0af171777fa516e819fea0ebd518 (patch)
treef13bff9ab8b2c1a0c02bd2c1ffe671c222d214f4 /sys/netinet6/in6_src.c
parentaee5e4f9141784e5d9fa5e043802a6e26f63ea96 (diff)
downloadFreeBSD-src-090c7c6e677e0af171777fa516e819fea0ebd518.zip
FreeBSD-src-090c7c6e677e0af171777fa516e819fea0ebd518.tar.gz
check return result from rtalloc1 before invoking RTUNLOCK
Diffstat (limited to 'sys/netinet6/in6_src.c')
-rw-r--r--sys/netinet6/in6_src.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet6/in6_src.c b/sys/netinet6/in6_src.c
index a77c8cb..4780f0f 100644
--- a/sys/netinet6/in6_src.c
+++ b/sys/netinet6/in6_src.c
@@ -256,7 +256,8 @@ in6_selectsrc(dstsock, opts, mopts, ro, laddr, errorp)
if (IN6_IS_ADDR_MULTICAST(dst)) {
ro->ro_rt = rtalloc1(&((struct route *)ro)
->ro_dst, 0, 0UL);
- RT_UNLOCK(ro->ro_rt);
+ if (ro->ro_rt)
+ RT_UNLOCK(ro->ro_rt);
} else {
rtalloc((struct route *)ro);
}
OpenPOWER on IntegriCloud