fix a few potential buffer overwrite in Game VM

This commit is contained in:
David CARLIER 2017-12-16 18:51:34 +00:00 committed by Zack Middleton
parent 76ec9fb6bd
commit c904f6d4aa
2 changed files with 8 additions and 8 deletions

View file

@ -817,19 +817,19 @@ void Svcmd_BotList_f( void ) {
trap_Print("^1name model aifile funname\n");
for (i = 0; i < g_numBots; i++) {
strcpy(name, Info_ValueForKey( g_botInfos[i], "name" ));
Q_strncpyz(name, Info_ValueForKey( g_botInfos[i], "name" ), sizeof( name ));
if ( !*name ) {
strcpy(name, "UnnamedPlayer");
}
strcpy(funname, Info_ValueForKey( g_botInfos[i], "funname" ));
Q_strncpyz(funname, Info_ValueForKey( g_botInfos[i], "funname" ), sizeof( funname ));
if ( !*funname ) {
strcpy(funname, "");
}
strcpy(model, Info_ValueForKey( g_botInfos[i], "model" ));
Q_strncpyz(model, Info_ValueForKey( g_botInfos[i], "model" ), sizeof( model ));
if ( !*model ) {
strcpy(model, "visor/default");
}
strcpy(aifile, Info_ValueForKey( g_botInfos[i], "aifile"));
Q_strncpyz(aifile, Info_ValueForKey( g_botInfos[i], "aifile"), sizeof( aifile ));
if (!*aifile ) {
strcpy(aifile, "bots/default_c.c");
}

View file

@ -838,11 +838,11 @@ void ClientUserinfoChanged( int clientNum ) {
teamLeader = client->sess.teamLeader;
// colors
strcpy(c1, Info_ValueForKey( userinfo, "color1" ));
strcpy(c2, Info_ValueForKey( userinfo, "color2" ));
Q_strncpyz(c1, Info_ValueForKey( userinfo, "color1" ), sizeof( c1 ));
Q_strncpyz(c2, Info_ValueForKey( userinfo, "color2" ), sizeof( c2 ));
strcpy(redTeam, Info_ValueForKey( userinfo, "g_redteam" ));
strcpy(blueTeam, Info_ValueForKey( userinfo, "g_blueteam" ));
Q_strncpyz(redTeam, Info_ValueForKey( userinfo, "g_redteam" ), sizeof( redTeam ));
Q_strncpyz(blueTeam, Info_ValueForKey( userinfo, "g_blueteam" ), sizeof( blueTeam ));
// send over a subset of the userinfo keys so other clients can
// print scoreboards, display models, and play custom sounds