]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/if_vlan.c
xnu-201.tar.gz
[apple/xnu.git] / bsd / net / if_vlan.c
index e4a3585a5f452925e9d97a0d5bb27083d9cb2dfb..2bc4983769cc402b3a384247608af8b67f5d70a4 100644 (file)
@@ -159,7 +159,9 @@ static int vlan_setmulti(struct ifnet *ifp)
            ifma != NULL;ifma = ifma->ifma_link.le_next) {
                if (ifma->ifma_addr->sa_family != AF_LINK)
                        continue;
-               mc = _MALLOC(sizeof(struct vlan_mc_entry), M_DEVBUF, M_NOWAIT);
+               mc = _MALLOC(sizeof(struct vlan_mc_entry), M_DEVBUF, M_WAITOK);
+               if (mc == NULL)
+                       return (ENOMEM);
                bcopy(LLADDR((struct sockaddr_dl *)ifma->ifma_addr),
                    (char *)&mc->mc_addr, ETHER_ADDR_LEN);
                SLIST_INSERT_HEAD(&sc->vlan_mc_listhead, mc, mc_entries);