--- score.C.old	2002-06-15 17:20:30.000000000 +0200
+++ score.C	2005-01-11 00:02:19.000000000 +0100
@@ -372,12 +372,13 @@ Score::Register(void)
     time_t t;
     struct tm *tp;
     struct passwd *pw;
-    char   namebuf[128], myname[NAMELEN+1], gecos[128], *po;
+    char   namebuf[142], myname[NAMELEN+1], gecos[128], *po;
 
     s1 = scoreToRegister / 1000;
     ms_to_hms(scoreToRegister, h, m, s);
     pw = getpwuid(getuid());
-    strcpy(gecos, pw->pw_gecos);
+    strncpy(gecos, pw->pw_gecos, sizeof(gecos));
+    gecos[sizeof(gecos) - 1] = '\0';
     if ((po = strchr(gecos, ',')) != NULL)
         *po = 0;
     sprintf(namebuf, "%-8.8s (%s)", pw->pw_name, gecos);
