(svn r10713) -Cleanup (r10711): too long string buffers, unsafe sprintf used (Darkvater)
authorKUDr
Fri, 27 Jul 2007 23:49:48 +0000
changeset 7350 33dfdde26b36
parent 7349 5f2a85771686
child 7351 7cd3e98e8296
(svn r10713) -Cleanup (r10711): too long string buffers, unsafe sprintf used (Darkvater)
src/win32.cpp
--- a/src/win32.cpp	Fri Jul 27 22:32:48 2007 +0000
+++ b/src/win32.cpp	Fri Jul 27 23:49:48 2007 +0000
@@ -1268,14 +1268,13 @@
 /** Determine the current user's locale. */
 const char *GetCurrentLocale(const char *)
 {
-	char lang[32], country[32];
-	static char retbuf[64];
+	char lang[9], country[9];
 	if (GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, lang, lengthof(lang)) == 0 ||
 	    GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, country, lengthof(country)) == 0) {
 		/* Unable to retrieve the locale. */
 		return NULL;
 	}
 	/* Format it as 'en_us'. */
-	sprintf(retbuf, "%c%c_%c%c", lang[0], lang[1], country[0], country[1]);
+	static char retbuf[6] = {lang[0], lang[1], '_', country[0], country[1], 0};
 	return retbuf;
 }