diff options
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/net/rtsock.c | 6 |
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 |
