aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2022-05-09 17:42:48 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2022-05-09 17:42:48 +0000
commitc17418a0ba6eef8d2070d75844f9ede4ddbc413b (patch)
treee3c9874e05108bcb3103b23079955f2feb4df657
parent2400c536b478b1d218507d29ee74b309522d65f5 (diff)
-rw-r--r--sys/kern/uipc_socket.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index f33814efd176..029f7c8387ca 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -1195,8 +1195,10 @@ sofree(struct socket *so)
so->so_dtor(so);
VNET_SO_ASSERT(so);
- if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose != NULL)
+ if (pr->pr_flags & PR_RIGHTS) {
+ MPASS(pr->pr_domain->dom_dispose != NULL);
(*pr->pr_domain->dom_dispose)(so);
+ }
if (pr->pr_usrreqs->pru_detach != NULL)
(*pr->pr_usrreqs->pru_detach)(so);
@@ -2989,8 +2991,10 @@ sorflush(struct socket *so)
* any unsafe routines (that rely on locks being initialized) on aso.
*/
pr = so->so_proto;
- if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose != NULL)
+ if (pr->pr_flags & PR_RIGHTS) {
+ MPASS(pr->pr_domain->dom_dispose != NULL);
(*pr->pr_domain->dom_dispose)(&aso);
+ }
sbrelease_internal(&aso.so_rcv, so);
}