diff options
author | thompsa <thompsa@FreeBSD.org> | 2008-12-13 22:41:36 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2008-12-13 22:41:36 +0000 |
commit | deedb2bd3a01857a0a8bfb55b1b1912653c008ff (patch) | |
tree | a1d76dea0ce7bd238487b29d5e459d8d48df92f4 /sys/net/rtsock.c | |
parent | 79df8e45992bef49348b53814c4fdcb02172a3de (diff) | |
download | FreeBSD-src-deedb2bd3a01857a0a8bfb55b1b1912653c008ff.zip FreeBSD-src-deedb2bd3a01857a0a8bfb55b1b1912653c008ff.tar.gz |
Dont leak the rnh lock on error.
Diffstat (limited to 'sys/net/rtsock.c')
-rw-r--r-- | sys/net/rtsock.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index e8cc021..5003b03 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -673,10 +673,10 @@ route_output(struct mbuf *m, struct socket *so) rt->rt_ifa->ifa_addr))) { RT_UNLOCK(rt); RADIX_NODE_HEAD_LOCK(rnh); - if ((error = rt_getifa_fib(&info, - rt->rt_fibnum)) != 0) - senderr(error); + error = rt_getifa_fib(&info, rt->rt_fibnum); RADIX_NODE_HEAD_UNLOCK(rnh); + if (error != 0) + senderr(error); RT_LOCK(rt); } if (info.rti_ifa != NULL && |