From 8d34cf15ccf55261bf33052a15aac73dda98378b Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Wed, 2 Jan 2019 16:35:23 +0200 Subject: [PATCH] - added missing range checks to level compatibility handler # Conflicts: # src/compatibility.cpp --- src/compatibility.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/compatibility.cpp b/src/compatibility.cpp index 6fe4bf3138..d66438f037 100644 --- a/src/compatibility.cpp +++ b/src/compatibility.cpp @@ -333,10 +333,13 @@ DEFINE_ACTION_FUNCTION(DLevelCompatibility, OffsetSectorPlane) PARAM_INT(planeval); PARAM_FLOAT(delta); - sector_t *sec = &level.sectors[sector]; - secplane_t& plane = sector_t::floor == planeval? sec->floorplane : sec->ceilingplane; - plane.ChangeHeight(delta); - sec->ChangePlaneTexZ(planeval, delta); + if ((unsigned)sector < self->Level->sectors.Size()) + { + sector_t *sec = &self->Level->sectors[sector]; + secplane_t& plane = sector_t::floor == planeval? sec->floorplane : sec->ceilingplane; + plane.ChangeHeight(delta); + sec->ChangePlaneTexZ(planeval, delta); + } return 0; } @@ -353,7 +356,11 @@ DEFINE_ACTION_FUNCTION(DLevelCompatibility, AddSectorTag) PARAM_PROLOGUE; PARAM_INT(sector); PARAM_INT(tag); - tagManager.AddSectorTag(sector, tag); + + if ((unsigned)sector < self->Level->sectors.Size()) + { + tagManager.AddSectorTag(sector, tag); + } return 0; }