From: Roy Marples Date: Thu, 11 Oct 2007 20:30:24 +0000 (+0000) Subject: Don't malloc pointer size when we mean data size X-Git-Tag: v3.2.3~186 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d9448b42248e0868f3ab391e1107141bf0ff058f;p=thirdparty%2Fdhcpcd.git Don't malloc pointer size when we mean data size --- diff --git a/configure.c b/configure.c index 66ff70af..0847b2ea 100644 --- a/configure.c +++ b/configure.c @@ -192,7 +192,7 @@ static int _make_ntp (const char *file, const char *ifname, const dhcp_t *dhcp) return -1; } } else { - buffer = xmalloc (sizeof (char *) * BUFFERSIZE); + buffer = xmalloc (sizeof (char) * BUFFERSIZE); memset (buffer, 0, BUFFERSIZE); while (fgets (buffer, BUFFERSIZE, f)) { a = buffer; @@ -305,7 +305,7 @@ static int make_nis (const char *ifname, const dhcp_t *dhcp) return -1; } - prefix = xmalloc (sizeof (char *) * PREFIXSIZE); + prefix = xmalloc (sizeof (char) * PREFIXSIZE); *prefix = '\0'; fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); @@ -531,9 +531,9 @@ int configure (const options_t *options, interface_t *iface, make_nis(iface->name, dhcp); #endif - curhostname = xmalloc (sizeof (char *) * MAXHOSTNAMELEN); + curhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); *curhostname = '\0'; - newhostname = xmalloc (sizeof (char *) * MAXHOSTNAMELEN); + newhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); *newhostname = '\0'; /* Now we have made a resolv.conf we can obtain a hostname if we need it */ @@ -547,7 +547,7 @@ int configure (const options_t *options, interface_t *iface, struct addrinfo hints, *res; int result; - addr = xmalloc (sizeof (char *) * NI_MAXHOST); + addr = xmalloc (sizeof (char) * NI_MAXHOST); salen = sizeof (struct sockaddr); memset (&su.sa, 0, salen); su.sin.sin_family = AF_INET; diff --git a/dhcpcd.c b/dhcpcd.c index 25519da6..55641b2a 100644 --- a/dhcpcd.c +++ b/dhcpcd.c @@ -447,7 +447,7 @@ int main(int argc, char **argv) exit (EXIT_FAILURE); } - prefix = xmalloc (sizeof (char *) * IF_NAMESIZE + 3); + prefix = xmalloc (sizeof (char) * (IF_NAMESIZE + 3)); snprintf (prefix, IF_NAMESIZE, "%s: ", options->interface); setlogprefix (prefix); snprintf (options->pidfile, sizeof (options->pidfile), PIDFILE, diff --git a/duid.c b/duid.c index 160b131c..2645677f 100644 --- a/duid.c +++ b/duid.c @@ -59,7 +59,7 @@ void get_duid (interface_t *iface) if ((fp = fopen (DUIDFILE, "r"))) { char *fduid; char *fdp; - fduid = fdp = xmalloc ((sizeof (char *) * DUID_LEN * 2) + 1); + fduid = fdp = xmalloc ((sizeof (char) * DUID_LEN * 2) + 1); if (fscanf (fp, "%260s", fduid) == 1) { char c[3]; c[2] = '\0'; diff --git a/info.c b/info.c index b3277178..2a7920a0 100644 --- a/info.c +++ b/info.c @@ -340,7 +340,7 @@ bool read_info (const interface_t *iface, dhcp_t *dhcp) dhcp->frominfo = true; - buffer = xmalloc (sizeof (char *) * BUFFERSIZE); + buffer = xmalloc (sizeof (char) * BUFFERSIZE); memset (buffer, 0, BUFFERSIZE); while ((fgets (buffer, BUFFERSIZE, fp))) { var = buffer; diff --git a/interface.c b/interface.c index 9964ad36..70dba71e 100644 --- a/interface.c +++ b/interface.c @@ -271,7 +271,6 @@ interface_t *read_interface (const char *ifname, int metric) if (! ifname) return NULL; - memset (hwaddr, sizeof (hwaddr), 0); memset (&ifr, 0, sizeof (struct ifreq)); strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); @@ -304,7 +303,7 @@ interface_t *read_interface (const char *ifname, int metric) goto exit; } - hwaddr = xmalloc (sizeof (unsigned char *) * HWADDR_LEN); + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); memcpy (hwaddr, ifr.ifr_hwaddr.sa_data, hwlen); family = ifr.ifr_hwaddr.sa_family; #else @@ -315,7 +314,7 @@ interface_t *read_interface (const char *ifname, int metric) goto exit; } - hwaddr = xmalloc (sizeof (unsigned char *) * HWADDR_LEN); + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); if (_do_interface (ifname, hwaddr, &hwlen, NULL, false, false) != 1) { logger (LOG_ERR, "could not find interface %s", ifname); goto exit; @@ -601,7 +600,7 @@ static int do_route (const char *ifname, if (netmask.s_addr == INADDR_BROADCAST) rtm.hdr.rtm_flags |= RTF_HOST; - hwaddr = xmalloc (sizeof (unsigned char *) * HWADDR_LEN); + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); _do_interface (ifname, hwaddr, &hwlen, NULL, false, false); memset (&su, 0, sizeof (struct sockaddr_storage)); su.sdl.sdl_len = sizeof (struct sockaddr_dl); @@ -697,7 +696,7 @@ static int send_netlink(struct nlmsghdr *hdr) return -1; } - buffer = xmalloc (sizeof (char *) * BUFFERLEN); + buffer = xmalloc (sizeof (char) * BUFFERLEN); memset (buffer, 0, BUFFERLEN); iov.iov_base = buffer; diff --git a/logger.c b/logger.c index f812dd36..5fc184f6 100644 --- a/logger.c +++ b/logger.c @@ -100,7 +100,7 @@ void logger(int level, const char *fmt, ...) if (level < LOG_DEBUG || level <= loglevel) { int len = strlen (logprefix); int fmt2len = strlen (fmt) + len + 1; - char *fmt2 = malloc (sizeof (char *) * fmt2len); + char *fmt2 = malloc (sizeof (char) * fmt2len); char *pf = fmt2; if (fmt2) { memcpy (pf, logprefix, len); diff --git a/socket.c b/socket.c index bb939929..639e1650 100644 --- a/socket.c +++ b/socket.c @@ -240,7 +240,7 @@ int open_socket (interface_t *iface, bool arp) int buf = 0; struct bpf_program p; - device = xmalloc (sizeof (char *) * PATH_MAX); + device = xmalloc (sizeof (char) * PATH_MAX); do { snprintf (device, PATH_MAX, "/dev/bpf%d", n++); fd = open (device, O_RDWR);