summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/uipc_socket.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index 7313811..b172d46 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -135,6 +135,9 @@ socreate(dom, aso, type, proto, p)
else
prp = pffindtype(dom, type);
+ if (prp == 0 || prp->pr_usrreqs->pru_attach == 0)
+ return (EPROTONOSUPPORT);
+
if (p->p_prison && jail_socket_unixiproute_only &&
prp->pr_domain->dom_family != PF_LOCAL &&
prp->pr_domain->dom_family != PF_INET &&
@@ -142,8 +145,6 @@ socreate(dom, aso, type, proto, p)
return (EPROTONOSUPPORT);
}
- if (prp == 0 || prp->pr_usrreqs->pru_attach == 0)
- return (EPROTONOSUPPORT);
if (prp->pr_type != type)
return (EPROTOTYPE);
so = soalloc(p != 0);
OpenPOWER on IntegriCloud