summaryrefslogtreecommitdiff
path: root/src/r_models.c
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2011-04-26 16:53:00 +0400
committerAndrey Nazarov <skuller@skuller.net>2011-04-26 19:10:43 +0400
commit776fa0343672058a66f2ed994e67cfa610189a57 (patch)
tree9d6a6514d4c40b94c12d4ca928c354c4da9f7f71 /src/r_models.c
parent107eb88def58d969e3d4ad3948f3244573da9b0e (diff)
Silently ignore empty configstrings.
With demo seeking in place image/model/sound registration functions may be often called with empty names, silently ignore them.
Diffstat (limited to 'src/r_models.c')
-rw-r--r--src/r_models.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/r_models.c b/src/r_models.c
index ee213ef..c15de5a 100644
--- a/src/r_models.c
+++ b/src/r_models.c
@@ -274,16 +274,27 @@ qhandle_t R_RegisterModel( const char *name ) {
mod_load_t load;
qerror_t ret;
- if( name[0] == '*' ) {
+ // empty names are legal, silently ignore them
+ if( !*name )
+ return 0;
+
+ if( *name == '*' ) {
// inline bsp model
index = atoi( name + 1 );
return ~index;
}
// normalize the path
- namelen = FS_NormalizePathBuffer( normalized, name, sizeof( normalized ) );
- if( namelen >= sizeof( normalized ) ) {
+ namelen = FS_NormalizePathBuffer( normalized, name, MAX_QPATH );
+
+ // this should never happen
+ if( namelen >= MAX_QPATH )
Com_Error( ERR_DROP, "%s: oversize name", __func__ );
+
+ // normalized to empty name?
+ if( namelen == 0 ) {
+ Com_DPrintf( "%s: empty name\n", __func__ );
+ return 0;
}
// see if it's already loaded