diff options
author | sam <sam@FreeBSD.org> | 2003-10-23 21:41:00 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2003-10-23 21:41:00 +0000 |
commit | 090c7c6e677e0af171777fa516e819fea0ebd518 (patch) | |
tree | f13bff9ab8b2c1a0c02bd2c1ffe671c222d214f4 | |
parent | aee5e4f9141784e5d9fa5e043802a6e26f63ea96 (diff) | |
download | FreeBSD-src-090c7c6e677e0af171777fa516e819fea0ebd518.zip FreeBSD-src-090c7c6e677e0af171777fa516e819fea0ebd518.tar.gz |
check return result from rtalloc1 before invoking RTUNLOCK
-rw-r--r-- | sys/netinet6/in6_src.c | 3 |
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); } |