diff options
| author | Roy Marples <roy@marples.name> | 2017-03-31 11:45:36 +0100 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2017-03-31 11:45:36 +0100 |
| commit | cbc18b18f511ae2b5b346f7a056ffd9ef45d9638 (patch) | |
| tree | 9e021004b5afc3b33f5f8854758b5f8cb8c83e02 /src/if-bsd.c | |
| parent | 03db98aca660af0c98fa26675c2fb7c08dafbda0 (diff) | |
| download | dhcpcd-cbc18b18f511ae2b5b346f7a056ffd9ef45d9638.tar.xz | |
Initialise the whole rt msg buffer to avoid valgrind errors.
Diffstat (limited to 'src/if-bsd.c')
| -rw-r--r-- | src/if-bsd.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/if-bsd.c b/src/if-bsd.c index 15d16e52..504811db 100644 --- a/src/if-bsd.c +++ b/src/if-bsd.c @@ -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__ |
