diff options
author | M. Kristall <mkpdev@gmail.com> | 2009-10-03 11:41:43 +0000 |
---|---|---|
committer | Tim Angus <tim@ngus.net> | 2013-01-03 00:15:14 +0000 |
commit | 74ff891914c7f91b0f6c86a7a075a4fafdaf15e5 (patch) | |
tree | f415232f36f56a673d29bd7a06577be14f2e9fc5 /src/cgame/cg_buildable.c | |
parent | 614a658030e59212335611596adb196b93e5b437 (diff) |
* Fix a couple more places where files might not be closed (bug 3554)
* Fix off-by-one errors and some gcc warnings
Diffstat (limited to 'src/cgame/cg_buildable.c')
-rw-r--r-- | src/cgame/cg_buildable.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/cgame/cg_buildable.c b/src/cgame/cg_buildable.c index ae0ed17e..00e2c2c2 100644 --- a/src/cgame/cg_buildable.c +++ b/src/cgame/cg_buildable.c @@ -169,12 +169,13 @@ static qboolean CG_ParseBuildableAnimationFile( const char *filename, buildable_ // load the file len = trap_FS_FOpenFile( filename, &f, FS_READ ); - if( len <= 0 ) + if( len < 0 ) return qfalse; - if( len >= sizeof( text ) - 1 ) + if( len == 0 || len >= sizeof( text ) - 1 ) { - CG_Printf( "File %s too long\n", filename ); + trap_FS_FCloseFile( f ); + CG_Printf( "File %s is %s\n", filename, len == 0 ? "empty" : "too long" ); return qfalse; } @@ -259,12 +260,13 @@ static qboolean CG_ParseBuildableSoundFile( const char *filename, buildable_t bu // load the file len = trap_FS_FOpenFile( filename, &f, FS_READ ); - if ( len <= 0 ) + if ( len < 0 ) return qfalse; - if ( len >= sizeof( text ) - 1 ) + if ( len == 0 || len >= sizeof( text ) - 1 ) { - CG_Printf( "File %s too long\n", filename ); + trap_FS_FCloseFile( f ); + CG_Printf( "File %s is %s\n", filename, len == 0 ? "empty" : "too long" ); return qfalse; } |