diff options
| author | Robert Watson <rwatson@FreeBSD.org> | 2004-08-06 02:08:31 +0000 |
|---|---|---|
| committer | Robert Watson <rwatson@FreeBSD.org> | 2004-08-06 02:08:31 +0000 |
| commit | 9c1df6951ff968a632f4c6d04de59842857a9ec9 (patch) | |
| tree | 29bfa2cbace46cc915032519c98724eea2bee7ee /sys/netinet/udp_usrreq.c | |
| parent | 17dbe0f79f8da1e5d4aaf196162af2cd976bc9fe (diff) | |
Notes
Diffstat (limited to 'sys/netinet/udp_usrreq.c')
| -rw-r--r-- | sys/netinet/udp_usrreq.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index fc146d4ac41b4..dc95f4bd2cb84 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -287,26 +287,23 @@ udp_input(m, off) */ last = NULL; LIST_FOREACH(inp, &udb, inp_list) { - INP_LOCK(inp); - if (inp->inp_lport != uh->uh_dport) { - docontinue: - INP_UNLOCK(inp); + if (inp->inp_lport != uh->uh_dport) continue; - } #ifdef INET6 if ((inp->inp_vflag & INP_IPV4) == 0) - goto docontinue; + continue; #endif if (inp->inp_laddr.s_addr != INADDR_ANY) { if (inp->inp_laddr.s_addr != ip->ip_dst.s_addr) - goto docontinue; + continue; } if (inp->inp_faddr.s_addr != INADDR_ANY) { if (inp->inp_faddr.s_addr != ip->ip_src.s_addr || inp->inp_fport != uh->uh_sport) - goto docontinue; + continue; } + INP_LOCK(inp); /* * Check multicast packets to make sure they are only @@ -327,8 +324,10 @@ udp_input(m, off) break; } } - if (foundmship == 0) - goto docontinue; + if (foundmship == 0) { + INP_UNLOCK(inp); + continue; + } } #undef NMSHIPS #undef MSHIP |
