From 4c7b4c32eec8e54908e50df8430f108d7586ba2a Mon Sep 17 00:00:00 2001 From: "seer-by-sentry[bot]" <157164994+seer-by-sentry[bot]@users.noreply.github.com> Date: Sun, 5 Oct 2025 02:59:08 +0000 Subject: [PATCH] BaseHeightMap: Add null check for m_map before dereferencing --- .../Source/W3DDevice/GameClient/BaseHeightMap.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp index f61baf015bc..c21ad924202 100644 --- a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp +++ b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp @@ -2461,6 +2461,10 @@ void BaseHeightMapRenderObjClass::renderShoreLines(CameraClass *pCamera) if (DX8Wrapper::getBackBufferFormat() != WW3D_FORMAT_A8R8G8B8) return; //can't apply effect on cards without destination alpha + // Safety check: ensure m_map is valid before dereferencing + if (!m_map) + return; + Int vertexCount = 0; Int indexCount = 0; Int drawEdgeY=m_map->getDrawOrgY()+m_map->getDrawHeight()-1; @@ -2624,6 +2628,10 @@ void BaseHeightMapRenderObjClass::renderShoreLinesSorted(CameraClass *pCamera) if (DX8Wrapper::getBackBufferFormat() != WW3D_FORMAT_A8R8G8B8) return; //can't apply effect on cards without destination alpha + // Safety check: ensure m_map is valid before dereferencing + if (!m_map) + return; + Int vertexCount = 0; Int indexCount = 0; Int drawEdgeY=m_map->getDrawOrgY()+m_map->getDrawHeight()-1;