summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_socket.c
diff options
context:
space:
mode:
authorasmodai <asmodai@FreeBSD.org>2000-06-13 15:44:04 +0000
committerasmodai <asmodai@FreeBSD.org>2000-06-13 15:44:04 +0000
commit7eea693fdb9b4eea9df8caa261ec2e8c58775fa0 (patch)
treede635010d7af0579b1aae3fca5fb18ed126384a3 /sys/kern/uipc_socket.c
parentb55d0c006f58371d7e3fba4d95814310a293cd6e (diff)
downloadFreeBSD-src-7eea693fdb9b4eea9df8caa261ec2e8c58775fa0.zip
FreeBSD-src-7eea693fdb9b4eea9df8caa261ec2e8c58775fa0.tar.gz
Fix panic by moving the prp == 0 check up the order of sanity checks.
Submitted by: Bart Thate <freebsd@1st.dudi.org> on -current Approved by: rwatson
Diffstat (limited to 'sys/kern/uipc_socket.c')
-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