diff options
Diffstat (limited to 'src/message.cpp')
-rw-r--r-- | src/message.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/message.cpp b/src/message.cpp index 11b4502..4156720 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -152,15 +152,16 @@ static void format_warn(const char *file,int line,const char *text) static void do_warn(const char *tag, const char *file, int line, const char *prefix, const char *fmt, va_list args) { if (!Config_getBool(tag)) return; // warning type disabled - char text[40960]; + const int bufSize = 40960; + char text[bufSize]; int l=0; if (prefix) { - strcpy(text,prefix); + qstrncpy(text,prefix,bufSize); l=strlen(prefix); } - vsnprintf(text+l, 40960-l, fmt, args); - text[40960-1]='\0'; + vsnprintf(text+l, bufSize-l, fmt, args); + text[bufSize-1]='\0'; format_warn(file,line,text); } |