From e2d3a1cdfb43037f528878044a3a83b0a628a14f Mon Sep 17 00:00:00 2001 From: Stefan Becker Date: Fri, 22 Oct 2010 08:41:27 +0300 Subject: [PATCH] coverity: fix STACK_USE warning Coverity flags stack allocations larger than 1024 as potential security risk. Use a dynamic buffer instead in sipe_utils_get_suitable_local_ip(). --- src/core/sipe-utils.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/sipe-utils.c b/src/core/sipe-utils.c index a07a137c..edee2578 100644 --- a/src/core/sipe-utils.c +++ b/src/core/sipe-utils.c @@ -500,14 +500,14 @@ const char * sipe_utils_get_suitable_local_ip(int fd) int source = (fd >= 0) ? fd : socket(PF_INET,SOCK_STREAM, 0); if (source >= 0) { - struct ifreq buffer[IFREQ_MAX]; + struct ifreq *buffer = g_new0(struct ifreq, IFREQ_MAX); struct ifconf ifc; guint32 lhost = htonl(127 * 256 * 256 * 256 + 1); guint32 llocal = htonl((169 << 24) + (254 << 16)); guint i; static char ip[16]; - ifc.ifc_len = sizeof(buffer); + ifc.ifc_len = sizeof(struct ifreq) * IFREQ_MAX; ifc.ifc_req = buffer; ioctl(source, SIOCGIFCONF, &ifc); @@ -532,10 +532,12 @@ const char * sipe_utils_get_suitable_local_ip(int fd) ((add >> 8) & 255), add & 255); + g_free(buffer); return ip; } } } + g_free(buffer); } return "0.0.0.0"; -- 2.11.4.GIT