From 81b2f888222e5d3f6c9da01fc583ca614ff46641 Mon Sep 17 00:00:00 2001 From: Roman Fomin Date: Mon, 20 Feb 2023 19:52:07 +0700 Subject: [PATCH] check for wrong indexes in `P_LoadSegs()` (#918) Fix 1killtng.wad map13 --- src/p_setup.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/p_setup.c b/src/p_setup.c index 2079ab7d..de560731 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -211,6 +211,14 @@ void P_LoadSegs (int lump) ldef = &lines[linedef]; li->linedef = ldef; side = SHORT(ml->side); + + // Andrey Budko: check for wrong indexes + if ((unsigned)ldef->sidenum[side] >= (unsigned)numsides) + { + I_Error("P_LoadSegs: linedef %d for seg %d references a non-existent sidedef %d", + linedef, i, (unsigned)ldef->sidenum[side]); + } + li->sidedef = &sides[ldef->sidenum[side]]; li->frontsector = sides[ldef->sidenum[side]].sector; // [FG] recalculate