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

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

View File

@ -544,7 +544,7 @@ static picoModel_t *_ase_load( PM_PARAMS_LOAD ){
} }
/* remember node name */ /* remember node name */
strncpy( lastNodeName,ptr,sizeof( lastNodeName ) ); strncpy( lastNodeName, ptr, sizeof( lastNodeName ) - 1 );
} }
/* model mesh (originally contained within geomobject) */ /* model mesh (originally contained within geomobject) */
else if ( !_pico_stricmp( p->token,"*mesh" ) ) { 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; fm_vert_normal_t *vert;
char skinname[FM_SKINPATHSIZE]; char skinname[FM_SKINPATHSIZE + 1];
skinname[FM_SKINPATHSIZE] = '\0';
fm_t fm; fm_t fm;
fm_header_t *fm_head; fm_header_t *fm_head;
fm_st_t *texCoord; fm_st_t *texCoord;

View File

@ -104,6 +104,7 @@ static picoModel_t *_lwo_load( PM_PARAMS_LOAD ){
lwPolVert *v; lwPolVert *v;
lwVMapPt *vm; lwVMapPt *vm;
char name[256]; char name[256];
name[255] = '\0';
int i, j, k, numverts; int i, j, k, numverts;
picoModel_t *picoModel; picoModel_t *picoModel;
@ -234,7 +235,7 @@ static picoModel_t *_lwo_load( PM_PARAMS_LOAD ){
} }
/* detox and set shader name */ /* detox and set shader name */
strncpy( name, surface->name, sizeof( name ) ); strncpy( name, surface->name, sizeof( name ) - 1 );
_pico_first_token( name ); _pico_first_token( name );
_pico_setfext( name, NULL ); _pico_setfext( name, NULL );
_pico_unixify( name ); _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; index_DUP_LUT_t *p_index_LUT_DUPS;
md2Triangle_t *p_md2Triangle; md2Triangle_t *p_md2Triangle;
char skinname[ MD2_MAX_SKINNAME ]; char skinname[ MD2_MAX_SKINNAME + 1 ];
skinname[ MD2_MAX_SKINNAME] = '\0';
md2_t *md2; md2_t *md2;
md2St_t *texCoord; md2St_t *texCoord;
md2Frame_t *frame; md2Frame_t *frame;

View File

@ -41,7 +41,6 @@ typedef unsigned char byte;
======================================================================== ========================================================================
*/ */
#define MD2_NUMVERTEXNORMALS 162 #define MD2_NUMVERTEXNORMALS 162
#define MD2_MAX_SKINNAME 64
const unsigned char MD2_IDENT[4] = { 'I', 'D', 'P', '2', }; const unsigned char MD2_IDENT[4] = { 'I', 'D', 'P', '2', };
#define MD2_VERSION 8 #define MD2_VERSION 8
@ -234,7 +233,8 @@ void MD2Surface_read( Model& model, const byte* buffer, ArchiveFile& file ){
char skinname[MD2_MAX_SKINNAME]; char skinname[MD2_MAX_SKINNAME];
char skinnameRelative[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; int i = MD2_MAX_SKINNAME;
PointerInputStream inputStream( buffer + header.ofs_skins ); PointerInputStream inputStream( buffer + header.ofs_skins );
inputStream.read( reinterpret_cast<byte*>( skinnameRelative ), MD2_MAX_SKINNAME ); 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]; char path[NAME_MAX];
/* search in dirs */ /* search in dirs */
for ( i = 0; i < g_numDirs; i++ ){ for ( i = 0; i < g_numDirs; i++ ){
strncpy( path, g_strDirs[ i ], NAME_MAX ); snprintf( path, NAME_MAX, "%sscripts/", g_strDirs[ i ] );
strcat( path, "scripts/" );
dir = g_dir_open( path, 0, NULL ); dir = g_dir_open( path, 0, NULL );