From 63ce4095e06e8fff9581ca6a503f9ce1029d347e Mon Sep 17 00:00:00 2001 From: Louve <33836535+Rackover@users.noreply.github.com> Date: Mon, 18 Jul 2022 23:29:34 +0200 Subject: [PATCH] Safer clans (#366) * Safer clans * Remove pointer check Co-authored-by: Louvenarde --- src/Components/Modules/ClanTags.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Components/Modules/ClanTags.cpp b/src/Components/Modules/ClanTags.cpp index bc0da39e..c2acad4c 100644 --- a/src/Components/Modules/ClanTags.cpp +++ b/src/Components/Modules/ClanTags.cpp @@ -74,6 +74,8 @@ namespace Components std::memset(saneNameBuf, 0, sizeof(saneNameBuf)); auto* saneName = saneNameBuf; + + assert(ClanName); const auto* currentName = ClanName->current.string; if (currentName) { @@ -95,9 +97,10 @@ namespace Components char* ClanTags::GamerProfile_GetClanName(int controllerIndex) { assert(static_cast(controllerIndex) < Game::MAX_LOCAL_CLIENTS); + assert(ClanName); CL_SanitizeClanName(); - Game::I_strncpyz(Game::gamerSettings[0].exeConfig.clanPrefix, ClanName->current.string, sizeof(Game::GamerSettingExeConfig::clanPrefix)); + Game::I_strncpyz(Game::gamerSettings[controllerIndex].exeConfig.clanPrefix, ClanName->current.string, sizeof(Game::GamerSettingExeConfig::clanPrefix)); return Game::gamerSettings[controllerIndex].exeConfig.clanPrefix; } @@ -237,11 +240,11 @@ namespace Components ClanTags::ClanTags() { - Scheduler::Once([] + Events::OnClientInit([] { ClanName = Game::Dvar_RegisterString("clanName", "", Game::DVAR_ARCHIVE, "Your clan abbreviation"); - }, Scheduler::Pipeline::MAIN); + }); std::memset(&ClientState, 0, sizeof(char[Game::MAX_CLIENTS][5]));