From deeed00c95b82120a92bb3a7e3fb72c5acd1da3a Mon Sep 17 00:00:00 2001 From: NyakoFox Date: Sun, 15 Feb 2026 21:06:15 -0400 Subject: [PATCH] Make sure special roomnames have enough text There's another crash, which is indexing out of bounds if there's not enough text. This adds simple bounds checks for them. --- desktop_version/src/Map.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/desktop_version/src/Map.cpp b/desktop_version/src/Map.cpp index e60d6200..bd21909c 100644 --- a/desktop_version/src/Map.cpp +++ b/desktop_version/src/Map.cpp @@ -222,11 +222,11 @@ void mapclass::updateroomnames(void) if (rx == roomname->x && ry == roomname->y && (roomname->flag == -1 || (INBOUNDS_ARR(roomname->flag, obj.flags) && obj.flags[roomname->flag]))) { roomname_special = true; - if (roomname->type == RoomnameType_STATIC) + if (roomname->type == RoomnameType_STATIC && roomname->text.size() >= 1) { setroomname(roomname->text[0].c_str()); } - if (roomname->type == RoomnameType_GLITCH) + if (roomname->type == RoomnameType_GLITCH && roomname->text.size() >= 2) { roomname->delay--; if (roomname->delay <= 0) @@ -240,7 +240,7 @@ void mapclass::updateroomnames(void) } setroomname(roomname->text[roomname->progress].c_str()); } - if (roomname->type == RoomnameType_TRANSFORM) + if (roomname->type == RoomnameType_TRANSFORM && roomname->text.size() >= 1) { roomname->delay--; if (roomname->delay <= 0)