From 654c953dd4f17156f2b6b1ad481f02420c9981fb Mon Sep 17 00:00:00 2001 From: "seer-by-sentry[bot]" <157164994+seer-by-sentry[bot]@users.noreply.github.com> Date: Wed, 31 Dec 2025 21:49:53 +0000 Subject: [PATCH] Fix: Null check for sub-object name before string search in W3DModelDraw --- .../Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp | 3 ++- .../Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp b/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp index aab8c0ebf9a..ea718ba6106 100644 --- a/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp +++ b/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp @@ -2802,7 +2802,8 @@ void W3DModelDraw::hideAllHeadlights(Bool hide) for (Int subObj = 0; subObj < m_renderObject->Get_Num_Sub_Objects(); subObj++) { RenderObjClass* test = m_renderObject->Get_Sub_Object(subObj); - if (strstr(test->Get_Name(),"HEADLIGHT")) + const char* name = test->Get_Name(); + if (name != NULL && strstr(name, "HEADLIGHT")) { test->Set_Hidden(hide); } diff --git a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp index fccd5c32e02..603345dd742 100644 --- a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp +++ b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp @@ -2857,7 +2857,8 @@ void W3DModelDraw::hideAllHeadlights(Bool hide) for (Int subObj = 0; subObj < m_renderObject->Get_Num_Sub_Objects(); subObj++) { RenderObjClass* test = m_renderObject->Get_Sub_Object(subObj); - if (strstr(test->Get_Name(),"HEADLIGHT")) + const char* name = test->Get_Name(); + if (name != NULL && strstr(name, "HEADLIGHT")) { test->Set_Hidden(hide); }