Mercurial > hg > dhcpcd
changeset 5006:8f08888b3c0f draft
if: Don't use a variable length buffer
Otherwise SSP complains.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Sun, 26 Jan 2020 15:46:16 +0000 |
| parents | ffb5b2280ed2 |
| children | a5d64cd4b391 |
| files | src/if.c |
| diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if.c Sat Jan 25 13:27:36 2020 +0000 +++ b/src/if.c Sun Jan 26 15:46:16 2020 +0000 @@ -183,14 +183,18 @@ { uint32_t randnum; size_t hwlen = ifp->hwlen, rlen = 0; - uint8_t buf[hwlen], *bp = buf, *rp = (uint8_t *)&randnum; - char sbuf[hwlen * 3]; + uint8_t buf[HWADDR_LEN], *bp = buf, *rp = (uint8_t *)&randnum; + char sbuf[HWADDR_LEN * 3]; int retval; if (hwlen == 0) { errno = ENOTSUP; return -1; } + if (hwlen > sizeof(buf)) { + errno = ENOBUFS; + return -1; + } for (; hwlen != 0; hwlen--) { if (rlen == 0) {
