diff --git a/extcap/udpdump.c b/extcap/udpdump.c index 360d365d19..f6fe41a57c 100644 --- a/extcap/udpdump.c +++ b/extcap/udpdump.c @@ -304,7 +304,7 @@ static void run_listener(const char* fifo, const guint16 port, const char* proto struct sockaddr_in clientaddr; int clientlen = sizeof(clientaddr); socket_handle_t sock; - char buf[PKT_BUF_SIZE]; + char* buf; ssize_t buflen; FILE* fp = NULL; @@ -324,6 +324,7 @@ static void run_listener(const char* fifo, const guint16 port, const char* proto g_debug("Listener running on port %u", port); + buf = (char*)g_malloc(PKT_BUF_SIZE); while(run_loop == TRUE) { memset(buf, 0x0, PKT_BUF_SIZE); @@ -359,6 +360,7 @@ static void run_listener(const char* fifo, const guint16 port, const char* proto fclose(fp); closesocket(sock); + g_free(buf); } int main(int argc, char *argv[])