summaryrefslogtreecommitdiffstats
path: root/sys/net/if.c
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2004-01-27 19:35:05 +0000
committerbrooks <brooks@FreeBSD.org>2004-01-27 19:35:05 +0000
commite019e13d7c49dbbb95be7ebaad7cccd2404866ad (patch)
tree888e5ae2e8affd61aa04910b9a37203050f7d05f /sys/net/if.c
parentcf221c4c0debfbfae33f1a844e8ce3606da4305d (diff)
downloadFreeBSD-src-e019e13d7c49dbbb95be7ebaad7cccd2404866ad.zip
FreeBSD-src-e019e13d7c49dbbb95be7ebaad7cccd2404866ad.tar.gz
Cleanup malloc() use in if_attach():
- malloc() returns a void* and does not need a cast - when called with M_WAITOK, malloc() can not return NULL so don't check for that case. The result of the check was bogus anyway since it would leave the interface broken.
Diffstat (limited to 'sys/net/if.c')
-rw-r--r--sys/net/if.c42
1 files changed, 20 insertions, 22 deletions
diff --git a/sys/net/if.c b/sys/net/if.c
index c0a3e04..c31e46a 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -418,28 +418,26 @@ if_attach(struct ifnet *ifp)
socksize = ROUNDUP(socksize);
#undef ROUNDUP
ifasize = sizeof(*ifa) + 2 * socksize;
- ifa = (struct ifaddr *)malloc(ifasize, M_IFADDR, M_WAITOK | M_ZERO);
- if (ifa) {
- IFA_LOCK_INIT(ifa);
- sdl = (struct sockaddr_dl *)(ifa + 1);
- sdl->sdl_len = socksize;
- sdl->sdl_family = AF_LINK;
- bcopy(ifp->if_xname, sdl->sdl_data, namelen);
- sdl->sdl_nlen = namelen;
- sdl->sdl_index = ifp->if_index;
- sdl->sdl_type = ifp->if_type;
- ifaddr_byindex(ifp->if_index) = ifa;
- ifa->ifa_ifp = ifp;
- ifa->ifa_rtrequest = link_rtrequest;
- ifa->ifa_addr = (struct sockaddr *)sdl;
- sdl = (struct sockaddr_dl *)(socksize + (caddr_t)sdl);
- ifa->ifa_netmask = (struct sockaddr *)sdl;
- sdl->sdl_len = masklen;
- while (namelen != 0)
- sdl->sdl_data[--namelen] = 0xff;
- ifa->ifa_refcnt = 1;
- TAILQ_INSERT_HEAD(&ifp->if_addrhead, ifa, ifa_link);
- }
+ ifa = malloc(ifasize, M_IFADDR, M_WAITOK | M_ZERO);
+ IFA_LOCK_INIT(ifa);
+ sdl = (struct sockaddr_dl *)(ifa + 1);
+ sdl->sdl_len = socksize;
+ sdl->sdl_family = AF_LINK;
+ bcopy(ifp->if_xname, sdl->sdl_data, namelen);
+ sdl->sdl_nlen = namelen;
+ sdl->sdl_index = ifp->if_index;
+ sdl->sdl_type = ifp->if_type;
+ ifaddr_byindex(ifp->if_index) = ifa;
+ ifa->ifa_ifp = ifp;
+ ifa->ifa_rtrequest = link_rtrequest;
+ ifa->ifa_addr = (struct sockaddr *)sdl;
+ sdl = (struct sockaddr_dl *)(socksize + (caddr_t)sdl);
+ ifa->ifa_netmask = (struct sockaddr *)sdl;
+ sdl->sdl_len = masklen;
+ while (namelen != 0)
+ sdl->sdl_data[--namelen] = 0xff;
+ ifa->ifa_refcnt = 1;
+ TAILQ_INSERT_HEAD(&ifp->if_addrhead, ifa, ifa_link);
ifp->if_broadcastaddr = 0; /* reliably crash if used uninitialized */
if (domains)
OpenPOWER on IntegriCloud