From dd94de5a875d612683d98a7712dba25333ec0147 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Thu, 26 Jul 2018 14:42:05 +0200 Subject: [PATCH] include: remove VLAs Signed-off-by: Christian Brauner --- src/include/ifaddrs.c | 11 ++++++++++- src/include/lxcmntent.c | 6 +++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/include/ifaddrs.c b/src/include/ifaddrs.c index 1f954dd7d..3fbe170d6 100644 --- a/src/include/ifaddrs.c +++ b/src/include/ifaddrs.c @@ -575,7 +575,15 @@ int getifaddrs(struct ifaddrs **ifap) } unsigned l_numLinks = countLinks(l_socket, l_linkResults) + countLinks(l_socket, l_addrResults); - struct ifaddrs *l_links[l_numLinks]; + struct ifaddrs **l_links; + l_links = malloc(l_numLinks * sizeof(struct ifaddrs *)); + if (!l_links) + { + close(l_socket); + freeResultList(l_linkResults); + return -1; + } + memset(l_links, 0, l_numLinks * sizeof(struct ifaddrs *)); interpret(l_socket, l_linkResults, l_links, ifap); @@ -583,6 +591,7 @@ int getifaddrs(struct ifaddrs **ifap) freeResultList(l_linkResults); freeResultList(l_addrResults); + free(l_links); close(l_socket); return 0; } diff --git a/src/include/lxcmntent.c b/src/include/lxcmntent.c index dcb34a2f6..53f5256a1 100644 --- a/src/include/lxcmntent.c +++ b/src/include/lxcmntent.c @@ -18,6 +18,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include #include #include #include @@ -153,7 +154,10 @@ FILE *setmntent (const char *file, const char *mode) /* Extend the mode parameter with "c" to disable cancellation in the I/O functions and "e" to set FD_CLOEXEC. */ size_t modelen = strlen (mode); - char newmode[modelen + 3]; + char *newmode; + + newmode = alloca(modelen + 3); + memcpy (newmode, mode, modelen); memcpy (newmode + modelen, "ce", 3); FILE *result = fopen (file, newmode);