diff --git a/engine/server/sv_init.c b/engine/server/sv_init.c index 781d5793..e7045df3 100644 --- a/engine/server/sv_init.c +++ b/engine/server/sv_init.c @@ -545,7 +545,7 @@ void SV_FreeOldEntities( void ) } // decrement svgame.numEntities if the highest number entities died - for( ; EDICT_NUM( svgame.numEntities - 1 )->free; svgame.numEntities-- ); + for( ; ( ent = EDICT_NUM( svgame.numEntities - 1 )) && ent->free; svgame.numEntities-- ); } /* diff --git a/engine/server/sv_phys.c b/engine/server/sv_phys.c index 9e49fd42..52b04ae7 100644 --- a/engine/server/sv_phys.c +++ b/engine/server/sv_phys.c @@ -1842,8 +1842,10 @@ void SV_Physics( void ) // increase framecount sv.framecount++; +#if 0 // figure out why this causes memory corruption // decrement svgame.numEntities if the highest number entities died - for( ; EDICT_NUM( svgame.numEntities - 1 )->free; svgame.numEntities-- ); + for( ; ( ent = EDICT_NUM( svgame.numEntities - 1 )) && ent->free; svgame.numEntities-- ); +#endif } /*