From 0f4297bb7875109e0ebb376790b0561fd1287d2c Mon Sep 17 00:00:00 2001 From: lordhavoc Date: Fri, 2 Nov 2001 10:54:24 +0000 Subject: [PATCH] minor buffer-size-safe improvement in Sys_Printf, and some other changes to it git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@999 d7cf8633-e32d-0410-b094-e92efae38249 --- sys_shared.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/sys_shared.c b/sys_shared.c index 85ad4648..719bce79 100644 --- a/sys_shared.c +++ b/sys_shared.c @@ -84,25 +84,27 @@ void Sys_Printf (char *fmt, ...) mytime = time (NULL); local = localtime (&mytime); strftime (stamp, sizeof (stamp), timeformat.string, local); - + snprintf (final, sizeof (final), "%s%s", stamp, start); } else snprintf (final, sizeof (final), "%s", start); - for (p = (unsigned char *) final; *p; p++) + // LordHavoc: make sure the string is terminated + final[MAX_PRINT_MSG - 1] = 0; + for (p = (unsigned char *) final;*p; p++) *p = qfont_table[*p]; #ifdef WIN32 if (cls.state == ca_dedicated) - WriteFile(houtput, final, strlen (final), &dummy, NULL); + WriteFile(houtput, final, strlen (final), &dummy, NULL); #else - puts(final); + printf("%s", final); #endif // for (p = (unsigned char *) final; *p; p++) // putc (qfont_table[*p], stdout); -#ifndef WIN32 - fflush (stdout); -#endif +//#ifndef WIN32 +// fflush (stdout); +//#endif } void Sys_Shared_Init(void) -- 2.39.2