fix some strncpy use

This commit is contained in:
Garux 2018-09-29 21:34:03 +03:00
parent 86904473bb
commit f99cf57f27
7 changed files with 14 additions and 12 deletions

View File

@ -728,8 +728,8 @@ static picoModel_t *_3ds_load( PM_PARAMS_LOAD ){
return NULL;
}
/* get model's base name (eg. jeep from c:\models\jeep.3ds) */
memset( basename,0,sizeof( basename ) );
strncpy( basename,_pico_nopath( fileName ),sizeof( basename ) );
memset( basename, 0, sizeof( basename ) );
strncpy( basename, _pico_nopath( fileName ), sizeof( basename ) - 1 );
_pico_setfext( basename, NULL );
/* initialize persistant vars (formerly static) */

View File

@ -515,7 +515,7 @@ static picoModel_t *_ase_load( PM_PARAMS_LOAD ){
PicoSetModelFileName( model, fileName );
/* initialize some stuff */
memset( lastNodeName,0,sizeof( lastNodeName ) );
memset( lastNodeName, 0, sizeof( lastNodeName ) );
/* parse ase model file */
while ( 1 )
@ -544,7 +544,7 @@ static picoModel_t *_ase_load( PM_PARAMS_LOAD ){
}
/* remember node name */
strncpy( lastNodeName,ptr,sizeof( lastNodeName ) );
strncpy( lastNodeName, ptr, sizeof( lastNodeName ) - 1 );
}
/* model mesh (originally contained within geomobject) */
else if ( !_pico_stricmp( p->token,"*mesh" ) ) {

View File

@ -201,7 +201,8 @@ static picoModel_t *_fm_load( PM_PARAMS_LOAD ){
fm_vert_normal_t *vert;
char skinname[FM_SKINPATHSIZE];
char skinname[FM_SKINPATHSIZE + 1];
skinname[FM_SKINPATHSIZE] = '\0';
fm_t fm;
fm_header_t *fm_head;
fm_st_t *texCoord;

View File

@ -103,7 +103,8 @@ static picoModel_t *_lwo_load( PM_PARAMS_LOAD ){
lwPolygon *pol;
lwPolVert *v;
lwVMapPt *vm;
char name[ 256 ];
char name[256];
name[255] = '\0';
int i, j, k, numverts;
picoModel_t *picoModel;
@ -234,7 +235,7 @@ static picoModel_t *_lwo_load( PM_PARAMS_LOAD ){
}
/* detox and set shader name */
strncpy( name, surface->name, sizeof( name ) );
strncpy( name, surface->name, sizeof( name ) - 1 );
_pico_first_token( name );
_pico_setfext( name, NULL );
_pico_unixify( name );

View File

@ -334,7 +334,8 @@ static picoModel_t *_md2_load( PM_PARAMS_LOAD ){
index_DUP_LUT_t *p_index_LUT_DUPS;
md2Triangle_t *p_md2Triangle;
char skinname[ MD2_MAX_SKINNAME ];
char skinname[ MD2_MAX_SKINNAME + 1 ];
skinname[ MD2_MAX_SKINNAME] = '\0';
md2_t *md2;
md2St_t *texCoord;
md2Frame_t *frame;

View File

@ -41,7 +41,6 @@ typedef unsigned char byte;
========================================================================
*/
#define MD2_NUMVERTEXNORMALS 162
#define MD2_MAX_SKINNAME 64
const unsigned char MD2_IDENT[4] = { 'I', 'D', 'P', '2', };
#define MD2_VERSION 8
@ -234,7 +233,8 @@ void MD2Surface_read( Model& model, const byte* buffer, ArchiveFile& file ){
char skinname[MD2_MAX_SKINNAME];
char skinnameRelative[MD2_MAX_SKINNAME];
char path[MD2_MAX_SKINNAME];
char path[MD2_MAX_SKINNAME + 1];
path[MD2_MAX_SKINNAME] = '\0';
int i = MD2_MAX_SKINNAME;
PointerInputStream inputStream( buffer + header.ofs_skins );
inputStream.read( reinterpret_cast<byte*>( skinnameRelative ), MD2_MAX_SKINNAME );

View File

@ -260,8 +260,7 @@ void vfsListShaderFiles( char* list, int *num ){
char path[NAME_MAX];
/* search in dirs */
for ( i = 0; i < g_numDirs; i++ ){
strncpy( path, g_strDirs[ i ], NAME_MAX );
strcat( path, "scripts/" );
snprintf( path, NAME_MAX, "%sscripts/", g_strDirs[ i ] );
dir = g_dir_open( path, 0, NULL );