diff options
| author | Robert Watson <rwatson@FreeBSD.org> | 2005-08-02 17:52:52 +0000 |
|---|---|---|
| committer | Robert Watson <rwatson@FreeBSD.org> | 2005-08-02 17:52:52 +0000 |
| commit | 09df718e0e96b21e3df2f8bab13e88e0211b074a (patch) | |
| tree | d84acad36832edb2c3e80231f2c82d8289e533ff /sys/net/if_ethersubr.c | |
| parent | de6073aab059e5f382e1b8887d12a79074abce28 (diff) | |
Notes
Diffstat (limited to 'sys/net/if_ethersubr.c')
| -rw-r--r-- | sys/net/if_ethersubr.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 21afd9577756..d2423a495e96 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -1144,7 +1144,9 @@ ether_resolvemulti(struct ifnet *ifp, struct sockaddr **llsa, if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) return EADDRNOTAVAIL; MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_WAITOK|M_ZERO); + M_NOWAIT|M_ZERO); + if (sdl == NULL) + return ENOMEM; sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; @@ -1171,7 +1173,9 @@ ether_resolvemulti(struct ifnet *ifp, struct sockaddr **llsa, if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) return EADDRNOTAVAIL; MALLOC(sdl, struct sockaddr_dl *, sizeof *sdl, M_IFMADDR, - M_WAITOK|M_ZERO); + M_NOWAIT|M_ZERO); + if (sdl == NULL) + return (ENOMEM); sdl->sdl_len = sizeof *sdl; sdl->sdl_family = AF_LINK; sdl->sdl_index = ifp->if_index; |
