diff --git a/src/verilog.l b/src/verilog.l index 9e7be64d3..3524593c0 100644 --- a/src/verilog.l +++ b/src/verilog.l @@ -112,11 +112,13 @@ void yyerror(const char* errmsg) { } void yyerrorf(const char* format, ...) { - char msg[1024]; + const int maxlen = 2000; + char msg[maxlen]; va_list ap; va_start(ap,format); - vsprintf(msg,format,ap); + vsnprintf(msg,maxlen,format,ap); + msg[maxlen-1] = '\0'; va_end(ap); yyerror(msg);