*** empty log message ***
authorroot <root>
Fri, 28 Jul 2006 17:16:42 +0000 (17:16 +0000)
committerroot <root>
Fri, 28 Jul 2006 17:16:42 +0000 (17:16 +0000)
src/main.C

index 8b28c7fa8e9fff3025b0d9406412f4f9f700e595..741e21301449fb68001866e114ef407bb18aa796 100644 (file)
@@ -58,10 +58,15 @@ static char curlocale[128], savelocale[128];
 bool
 rxvt_set_locale (const char *locale) NOTHROW
 {
-  if (!locale || !strncmp (locale, curlocale, 128))
+  int len = strlen (locale) + 1;
+
+  if (len > sizeof (curlocale))
+    rxvt_fatal ("locale string too long, aborting.\n");
+
+  if (!locale || !memcmp (locale, curlocale, len))
     return false;
 
-  strncpy (curlocale, locale, 128);
+  memcpy (curlocale, locale, len);
   setlocale (LC_CTYPE, curlocale);
   return true;
 }