From f34f3a70977c267bfe6da187965bc4fa3df94e57 Mon Sep 17 00:00:00 2001 From: Sam Leffler Date: Wed, 17 Sep 2003 21:13:16 +0000 Subject: [PATCH] shuffle code so we don't "continue" and miss a needed unlock operation Observed by: Wiktor Niesiobedzki --- sys/netinet/raw_ip.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 59f5f071d14..0484f32c751 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -709,10 +709,8 @@ rip_pcblist(SYSCTL_HANDLER_ARGS) for (inp = LIST_FIRST(ripcbinfo.listhead), i = 0; inp && i < n; inp = LIST_NEXT(inp, inp_list)) { INP_LOCK(inp); - if (inp->inp_gencnt <= gencnt) { - if (cr_canseesocket(req->td->td_ucred, - inp->inp_socket)) - continue; + if (inp->inp_gencnt <= gencnt && + cr_canseesocket(req->td->td_ucred, inp->inp_socket) == 0) { /* XXX held references? */ inp_list[i++] = inp; }