From a41b28f6b70796949aec63c3f7dfae4e32f14e5e Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Fri, 3 Jul 2020 15:47:05 -0500 Subject: [PATCH] safety check ensures ` Knot *p1 = getKnot((S32)mFloor(t)); Knot *p2 = next(p1);` can't trip bad memory --- Engine/source/T3D/cameraSpline.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Engine/source/T3D/cameraSpline.h b/Engine/source/T3D/cameraSpline.h index 6396aa425..983c012f6 100644 --- a/Engine/source/T3D/cameraSpline.h +++ b/Engine/source/T3D/cameraSpline.h @@ -75,8 +75,8 @@ public: void push_front(Knot *w) { push_back(w); mFront = w; mIsMapDirty = true; } Knot* getKnot(S32 i); - Knot* next(Knot *k) { return (k->next == mFront) ? k : k->next; } - Knot* prev(Knot *k) { return (k == mFront) ? k : k->prev; } + Knot* next(Knot *k) { return (k && k->next == mFront) ? k : k->next; } + Knot* prev(Knot *k) { return (k && k == mFront) ? k : k->prev; } F32 advanceTime(F32 t, S32 delta_ms); F32 advanceDist(F32 t, F32 meters);