Page MenuHomeFreeBSD

D42084.id128273.diff
No OneTemporary

D42084.id128273.diff

diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c
--- a/sys/netinet/in_pcb.c
+++ b/sys/netinet/in_pcb.c
@@ -954,6 +954,7 @@
* This entire block sorely needs a rewrite.
*/
if (t != NULL &&
+ t->inp_socket != NULL &&
(so->so_type != SOCK_STREAM ||
ntohl(t->inp_faddr.s_addr) == INADDR_ANY) &&
(ntohl(sin->sin_addr.s_addr) != INADDR_ANY ||
@@ -966,7 +967,8 @@
}
t = in_pcblookup_local(pcbinfo, sin->sin_addr,
lport, lookupflags, cred);
- if (t != NULL && (reuseport & t->inp_socket->so_options) == 0 &&
+ if (t != NULL && t->inp_socket != NULL &&
+ (reuseport & t->inp_socket->so_options) == 0 &&
(reuseport_lb & t->inp_socket->so_options) == 0) {
#ifdef INET6
if (ntohl(sin->sin_addr.s_addr) !=
@@ -976,7 +978,7 @@
(inp->inp_vflag & INP_IPV6PROTO) == 0 ||
(t->inp_vflag & INP_IPV6PROTO) == 0)
#endif
- return (EADDRINUSE);
+ return (EADDRINUSE);
}
}
}

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 13, 7:31 AM (2 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40735915
Default Alt Text
D42084.id128273.diff (981 B)

Event Timeline