Potential buffer overflow in UpdateTournamentInfo()
This commit is contained in:
Zachary Slater 2010-10-25 06:39:11 +00:00
parent 956f495726
commit a4327ef965

View file

@ -42,7 +42,6 @@ void UpdateTournamentInfo( void ) {
gentity_t *player; gentity_t *player;
int playerClientNum; int playerClientNum;
int n, accuracy, perfect, msglen; int n, accuracy, perfect, msglen;
int buflen;
#ifdef MISSIONPACK #ifdef MISSIONPACK
int score1, score2; int score1, score2;
qboolean won; qboolean won;
@ -126,8 +125,8 @@ void UpdateTournamentInfo( void ) {
for( i = 0; i < level.numNonSpectatorClients; i++ ) { for( i = 0; i < level.numNonSpectatorClients; i++ ) {
n = level.sortedClients[i]; n = level.sortedClients[i];
Com_sprintf( buf, sizeof(buf), " %i %i %i", n, level.clients[n].ps.persistant[PERS_RANK], level.clients[n].ps.persistant[PERS_SCORE] ); Com_sprintf( buf, sizeof(buf), " %i %i %i", n, level.clients[n].ps.persistant[PERS_RANK], level.clients[n].ps.persistant[PERS_SCORE] );
buflen = strlen( buf ); msglen += strlen( buf );
if( msglen + buflen + 1 >= sizeof(msg) ) { if( msglen >= sizeof(msg) ) {
break; break;
} }
strcat( msg, buf ); strcat( msg, buf );