diff --git a/dlls/client.cpp b/dlls/client.cpp index 7aeda046..6f3ab410 100644 --- a/dlls/client.cpp +++ b/dlls/client.cpp @@ -357,13 +357,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; } @@ -379,11 +381,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 ) diff --git a/wscript b/wscript index f3ee8e0f..e5aabeda 100644 --- a/wscript +++ b/wscript @@ -175,7 +175,7 @@ def configure(conf): conf.env.append_unique('CXXFLAGS', ['-Wno-invalid-offsetof', '-fno-rtti', '-fno-exceptions']) # strip lib from pattern - if conf.env.DEST_OS in ['linux', 'darwin']: + if conf.env.DEST_OS not in ['android']: if conf.env.cshlib_PATTERN.startswith('lib'): conf.env.cshlib_PATTERN = conf.env.cshlib_PATTERN[3:] if conf.env.cxxshlib_PATTERN.startswith('lib'):