From 09467203d8397e1bc198c7b88d957b70b1413aa0 Mon Sep 17 00:00:00 2001 From: Ketmar Dark Date: Sat, 16 Apr 2016 19:00:15 +0300 Subject: [PATCH] added sanity check for some map parameters --- src/game/g_panel.pas | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/game/g_panel.pas b/src/game/g_panel.pas index 8a2265a..9672be8 100644 --- a/src/game/g_panel.pas +++ b/src/game/g_panel.pas @@ -61,8 +61,8 @@ type implementation uses - g_basic, g_map, MAPDEF, g_game, e_graphics, - g_console, g_language; + SysUtils, g_basic, g_map, MAPDEF, g_game, e_graphics, + g_console, g_language, e_log; const PANEL_SIGNATURE = $4C4E4150; // 'PANL' @@ -197,7 +197,11 @@ begin SaveIt := True; // Åñëè íå ñïåöòåêñòóðà, òî çàäàåì ðàçìåðû: - if not g_Map_IsSpecialTexture(Textures[PanelRec.TextureNum].TextureName) then + if PanelRec.TextureNum > High(Textures) then + begin + e_WriteLog(Format('WTF?! PanelRec.TextureNum is out of limits! (%d : %d)', [PanelRec.TextureNum, High(Textures)]), MSG_FATALERROR); + end + else if not g_Map_IsSpecialTexture(Textures[PanelRec.TextureNum].TextureName) then begin FTextureWidth := Textures[PanelRec.TextureNum].Width; FTextureHeight := Textures[PanelRec.TextureNum].Height; -- 2.29.2