]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Initialise the whole rt msg buffer to avoid valgrind errors.
authorRoy Marples <roy@marples.name>
Fri, 31 Mar 2017 10:45:36 +0000 (11:45 +0100)
committerRoy Marples <roy@marples.name>
Fri, 31 Mar 2017 10:45:36 +0000 (11:45 +0100)
src/if-bsd.c

index 15d16e52545da5130eacfc0ad6d81452f224e8b9..504811dbb24c1dd5cfbf4f486ee61b1be2e72b58 100644 (file)
@@ -380,7 +380,6 @@ if_route(unsigned char cmd, const struct rt *rt)
        } rtmsg;
        struct rt_msghdr *rtm = &rtmsg.hdr;
        char *bp = rtmsg.buffer;
-       size_t l;
        struct sockaddr_dl sdl;
        bool gateway_unspec;
 
@@ -393,12 +392,11 @@ if_route(unsigned char cmd, const struct rt *rt)
                ctx->options |= DHCPCD_RTM_PPID;
 
 #define ADDSA(sa) do {                                                       \
-               l = RT_ROUNDUP(((sa)->sa_len));                               \
-               memcpy(bp, (sa), l);                                          \
-               bp += l;                                                      \
+               memcpy(bp, (sa), (sa)->sa_len);                               \
+               bp += RT_ROUNDUP((sa)->sa_len);                               \
        }  while (0 /* CONSTCOND */)
 
-       memset(rtm, 0, sizeof(*rtm));
+       memset(&rtmsg, 0, sizeof(rtmsg));
        rtm->rtm_version = RTM_VERSION;
        rtm->rtm_type = cmd;
 #ifdef __OpenBSD__