From b1f2475230f4d73ee4231c55bb8c74397d3979f2 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 17 Oct 2020 10:55:30 +0200 Subject: [PATCH] - serialize null pointers correctly. --- source/games/duke/src/savegame.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/games/duke/src/savegame.cpp b/source/games/duke/src/savegame.cpp index 9f803d758..cbdf5130d 100644 --- a/source/games/duke/src/savegame.cpp +++ b/source/games/duke/src/savegame.cpp @@ -42,10 +42,10 @@ extern FixedBitArray activeSprites; template<> FSerializer& Serialize(FSerializer& arc, const char* key, Duke3d::weaponhit*& ht, Duke3d::weaponhit** def) { - size_t index = ht - Duke3d::hittype; - assert(index < MAXSPRITES); + ptrdiff_t index = ht? ht - Duke3d::hittype : -1; + assert(index >= -1 && index < MAXSPRITES); Serialize(arc, key, index, nullptr); - ht = &Duke3d::hittype[index]; + ht = index < 0? nullptr : &Duke3d::hittype[index]; return arc; }