--- 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);