From e3e01267aaee7990ff8bf92914c05defee1805bb Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Sun, 29 Mar 2026 18:47:55 +0300 Subject: [PATCH] Debug panic when level has too many (sub)rooms --- src/mklev.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mklev.c b/src/mklev.c index 703133ca4..2ddeefae9 100644 --- a/src/mklev.c +++ b/src/mklev.c @@ -306,6 +306,10 @@ add_room(coordxy lowx, coordxy lowy, coordxy hix, coordxy hiy, { struct mkroom *croom; +#ifdef DEBUG + if (svn.nroom >= MAXNROFROOMS) + panic("level has too many rooms"); +#endif /*DEBUG*/ croom = &svr.rooms[svn.nroom]; do_room_or_subroom(croom, lowx, lowy, hix, hiy, lit, rtype, special, (boolean) TRUE); @@ -322,6 +326,12 @@ add_subroom(struct mkroom *proom, { struct mkroom *croom; +#ifdef DEBUG + if (gn.nsubroom >= MAXNROFROOMS) + panic("level has too many subrooms"); + if (proom->nsubrooms >= MAX_SUBROOMS) + panic("room has too many subrooms"); +#endif /*DEBUG*/ croom = &gs.subrooms[gn.nsubroom]; do_room_or_subroom(croom, lowx, lowy, hix, hiy, lit, rtype, special, (boolean) FALSE);