diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -694,6 +694,11 @@ if (ncon == NULL) { ncon = sbcreatecontrol(&cred, sizeof(cred), SCM_CREDS, SOL_SOCKET); + if (ncon == NULL) { + error = ENOBUFS; + unp_free(unp2); + break; + } unp_internalize(ncon, msg->send.nm_td); *mp = ncon; }