2
0
mirror of https://github.com/FWGS/hlsdk-xash3d synced 2024-11-22 01:47:45 +01:00

More safe string copying.

This commit is contained in:
Andrey Akhmichin 2022-11-16 05:45:28 +05:00
parent 4ba4f5a9bc
commit 813aa0ae91
No known key found for this signature in database
GPG Key ID: 1F180D249B0643C0

View File

@ -355,13 +355,15 @@ void Host_Say( edict_t *pEntity, int teamonly )
{
if( CMD_ARGC() >= 2 )
{
sprintf( szTemp, "%s %s", (char *)pcmd, (char *)CMD_ARGS() );
_snprintf( szTemp, sizeof(szTemp) - 1, "%s %s", (char *)pcmd, (char *)CMD_ARGS() );
}
else
{
// Just a one word command, use the first word...sigh
sprintf( szTemp, "%s", (char *)pcmd );
strncpy( szTemp, (char *)pcmd, sizeof(szTemp) - 1 );
}
szTemp[sizeof(szTemp) - 1] = '\0';
p = szTemp;
}
@ -377,11 +379,12 @@ void Host_Say( edict_t *pEntity, int teamonly )
// turn on color set 2 (color on, no sound)
if( player->IsObserver() && ( teamonly ) )
sprintf( text, "%c(SPEC) %s: ", 2, STRING( pEntity->v.netname ) );
_snprintf( text, sizeof(text) - 1, "%c(SPEC) %s: ", 2, STRING( pEntity->v.netname ) );
else if( teamonly )
sprintf( text, "%c(TEAM) %s: ", 2, STRING( pEntity->v.netname ) );
_snprintf( text, sizeof(text) - 1, "%c(TEAM) %s: ", 2, STRING( pEntity->v.netname ) );
else
sprintf( text, "%c%s: ", 2, STRING( pEntity->v.netname ) );
_snprintf( text, sizeof(text) - 1, "%c%s: ", 2, STRING( pEntity->v.netname ) );
text[sizeof(text) - 1] = '\0';
j = sizeof( text ) - 2 - strlen( text ); // -2 for /n and null terminator
if( (int)strlen( p ) > j )