From fd0859801a367f6e87e593830571ce0e4c12a7f2 Mon Sep 17 00:00:00 2001 From: SmileyAG <58108407+SmileyAG@users.noreply.github.com> Date: Sun, 19 Nov 2023 23:15:54 +0400 Subject: [PATCH] Add 'g_pGame' validation check in the condition at the end of AgGameMode::Think for fix crash --- dlls/aggamemode.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/dlls/aggamemode.cpp b/dlls/aggamemode.cpp index eed16cb2..05737ccd 100644 --- a/dlls/aggamemode.cpp +++ b/dlls/aggamemode.cpp @@ -266,17 +266,21 @@ void AgGameMode::Think() if (!changedCVars.empty()) numAsterisks = (changedCVars.size() / 5) + 1; - if (g_pGame->m_iAsterisks > 0) + m_fNextCvarCheck = gpGlobals->time + CVARS_CHECK_INTERVAL; + + if (g_pGame) { - // Remove previous asterisks - g_pGame->m_sName = g_pGame->m_sName.substr(0, g_pGame->m_sName.length() - g_pGame->m_iAsterisks); - } + if (g_pGame->m_iAsterisks > 0) + { + // Remove previous asterisks + g_pGame->m_sName = g_pGame->m_sName.substr(0, g_pGame->m_sName.length() - g_pGame->m_iAsterisks); + } - if (numAsterisks > 0) - g_pGame->m_sName.insert(g_pGame->m_sName.end(), numAsterisks, '*'); + if (numAsterisks > 0) + g_pGame->m_sName.insert(g_pGame->m_sName.end(), numAsterisks, '*'); - m_fNextCvarCheck = gpGlobals->time + CVARS_CHECK_INTERVAL; - g_pGame->m_iAsterisks = numAsterisks; + g_pGame->m_iAsterisks = numAsterisks; + } } }