From: Roy Marples Date: Sun, 26 Jan 2020 15:46:16 +0000 (+0000) Subject: if: Don't use a variable length buffer X-Git-Tag: v9.0.0~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=004d7c8c0e8df866cdf791ef67acc5caab017f4e;p=thirdparty%2Fdhcpcd.git if: Don't use a variable length buffer Otherwise SSP complains. --- diff --git a/src/if.c b/src/if.c index 75776512..2fa6e133 100644 --- a/src/if.c +++ b/src/if.c @@ -183,14 +183,18 @@ if_randomisemac(struct interface *ifp) { 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) {