X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/43866e378188c25dd1e2208016ab3cbeb086ae6c..55e303ae13a4cf49d70f2294092726f2fffb9ef2:/bsd/net/ndrv.c?ds=sidebyside diff --git a/bsd/net/ndrv.c b/bsd/net/ndrv.c index 4707ef7c5..de86a5602 100644 --- a/bsd/net/ndrv.c +++ b/bsd/net/ndrv.c @@ -241,6 +241,10 @@ ndrv_attach(struct socket *so, int proto, struct proc *p) #if NDRV_DEBUG kprintf("NDRV attach: %x, %x, %x\n", so, proto, np); #endif + + if ((error = soreserve(so, ndrv_sendspace, ndrv_recvspace))) + return(error); + MALLOC(np, struct ndrv_cb *, sizeof(*np), M_PCB, M_WAITOK); if (np == NULL) return (ENOMEM); @@ -249,8 +253,6 @@ ndrv_attach(struct socket *so, int proto, struct proc *p) #if NDRV_DEBUG kprintf("NDRV attach: %x, %x, %x\n", so, proto, np); #endif - if ((error = soreserve(so, ndrv_sendspace, ndrv_recvspace))) - return(error); TAILQ_INIT(&np->nd_dlist); np->nd_signature = NDRV_SIGNATURE; np->nd_socket = so; @@ -600,7 +602,7 @@ ndrv_do_detach(register struct ndrv_cb *np) struct ndrv_cb* cur_np = NULL; struct socket *so = np->nd_socket; struct ndrv_multicast* next; - int error; + int error = 0; #if NDRV_DEBUG kprintf("NDRV detach: %x, %x\n", so, np);