freebsd-ports/games/cube/files/patch-physics.cpp
Jan Beich 6047e60d75 - Fix invalid dereferencing of null reference which causes startup
crash for cube_client when built with clang 3.6 + -O1 or higher [1]
- Properly track libenet dependency [2]

PR:		197604 [1]
PR:		197605 [2]
Submitted by:	dim [1]
2015-02-20 06:53:37 +00:00

22 lines
874 B
C++

--- physics.cpp.orig 2015-02-14 01:31:41.351723000 +0100
+++ physics.cpp 2015-02-14 01:40:28.770647000 +0100
@@ -46,14 +46,14 @@
{
entity &e = ents[i];
if(e.type!=MAPMODEL) continue;
- mapmodelinfo &mmi = getmminfo(e.attr2);
- if(!&mmi || !mmi.h) continue;
- const float r = mmi.rad+d->radius;
+ mapmodelinfo *mmi = getmminfo(e.attr2);
+ if(!mmi || !mmi->h) continue;
+ const float r = mmi->rad+d->radius;
if(fabs(e.x-d->o.x)<r && fabs(e.y-d->o.y)<r)
{
- float mmz = (float)(S(e.x, e.y)->floor+mmi.zoff+e.attr3);
+ float mmz = (float)(S(e.x, e.y)->floor+mmi->zoff+e.attr3);
if(d->o.z-d->eyeheight<mmz) { if(mmz<hi) hi = mmz; }
- else if(mmz+mmi.h>lo) lo = mmz+mmi.h;
+ else if(mmz+mmi->h>lo) lo = mmz+mmi->h;
};
};
};