Fix bad memory handling in traceCommand
This commit is contained in:
3
trace.c
3
trace.c
@@ -286,12 +286,13 @@ void traceCommand(char *id, char *format, ...)
|
|||||||
va_end(argptr);
|
va_end(argptr);
|
||||||
if(len >= sizeof(buffer)){
|
if(len >= sizeof(buffer)){
|
||||||
buf = malloc(len+1);
|
buf = malloc(len+1);
|
||||||
memset(buf,0,len+1);
|
|
||||||
if(buf != NULL){
|
if(buf != NULL){
|
||||||
|
memset(buf,0,len+1);
|
||||||
va_start(argptr,format);
|
va_start(argptr,format);
|
||||||
len = vsnprintf(buf, len+1,format,argptr);
|
len = vsnprintf(buf, len+1,format,argptr);
|
||||||
va_end(argptr);
|
va_end(argptr);
|
||||||
traceprint("com",id,buf);
|
traceprint("com",id,buf);
|
||||||
|
free(buf);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
traceprint("com",id,buffer);
|
traceprint("com",id,buffer);
|
||||||
|
|||||||
Reference in New Issue
Block a user