summaryrefslogtreecommitdiffstats
path: root/src/message.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/message.cpp')
-rw-r--r--src/message.cpp9
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);
}