From 8a91653f13de975e83b6cb4b66f7615f2ba54374 Mon Sep 17 00:00:00 2001 From: Douglas Clowes Date: Fri, 24 Jul 2015 12:36:28 +1000 Subject: [PATCH] Fix bad memory handling in traceCommand --- trace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/trace.c b/trace.c index db2dade1..74a05b44 100644 --- a/trace.c +++ b/trace.c @@ -286,12 +286,13 @@ void traceCommand(char *id, char *format, ...) va_end(argptr); if(len >= sizeof(buffer)){ buf = malloc(len+1); - memset(buf,0,len+1); if(buf != NULL){ + memset(buf,0,len+1); va_start(argptr,format); len = vsnprintf(buf, len+1,format,argptr); va_end(argptr); traceprint("com",id,buf); + free(buf); } } else { traceprint("com",id,buffer);