Mercurial > hg > dhcpcd
changeset 4440:116946128ea1 draft
sun: Don't read beyond the sockaddr length when making RTM
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Tue, 16 Apr 2019 18:13:25 +0000 |
| parents | 5ed513825ce5 |
| children | 52d9fd948974 b232fd763431 e89d0b4f0bc7 |
| files | src/if-sun.c |
| diffstat | 1 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if-sun.c Tue Apr 16 18:12:16 2019 +0000 +++ b/src/if-sun.c Tue Apr 16 18:13:25 2019 +0000 @@ -519,15 +519,15 @@ { struct rt_msghdr *rtm; char *bp = rtmsg->buffer; - size_t l; + socklen_t sl; /* WARNING: Solaris will not allow you to delete RTF_KERNEL routes. * This includes subnet/prefix routes. */ -#define ADDSA(sa) do { \ - l = RT_ROUNDUP(salen((sa))); \ - memcpy(bp, (sa), l); \ - bp += l; \ +#define ADDSA(sa) do { \ + sl = salen((sa)); \ + memcpy(bp, (sa), sl); \ + bp += RT_ROUNDUP(sl); \ } while (/* CONSTCOND */ 0) memset(rtmsg, 0, sizeof(*rtmsg));
