aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2005-08-11 08:26:31 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2005-08-11 08:26:31 +0000
commit791888619d532cd172df0444fb73bc276655681f (patch)
treec246c427d1c35772fabbfcb1b3139394c973b3d8 /sys
parent1ed7bf1e3be89ce16495431e76874cc88e509dcf (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/net/rtsock.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
index f014af191368..98e917c6106c 100644
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -428,11 +428,13 @@ route_output(struct mbuf *m, struct socket *so)
RADIX_NODE_HEAD_LOCK(rnh);
rt = (struct rtentry *) rnh->rnh_lookup(info.rti_info[RTAX_DST],
info.rti_info[RTAX_NETMASK], rnh);
- RADIX_NODE_HEAD_UNLOCK(rnh);
- if (rt == NULL) /* XXX looks bogus */
+ if (rt == NULL) { /* XXX looks bogus */
+ RADIX_NODE_HEAD_UNLOCK(rnh);
senderr(ESRCH);
+ }
RT_LOCK(rt);
RT_ADDREF(rt);
+ RADIX_NODE_HEAD_UNLOCK(rnh);
/*
* Fix for PR: 82974