From f8c35be20ced33afcd617c452aeaa41681541803 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Thu, 22 Oct 2020 21:37:31 +0200 Subject: [PATCH] Core/Players: fixed a possible crash when trying to send spell cooldowns for spells without a category entry --- src/server/game/Entities/Player/Player.cpp | 2 +- src/server/game/Spells/SpellHistory.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a08b6487474..ffc5fde6ff5 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2636,7 +2636,7 @@ void Player::SendKnownSpells() uint32 categoryCooldown = GetSpellHistory()->GetRemainingCategoryCooldown(spellInfo); if (cooldown || categoryCooldown) - knownSpells.SpellHistoryEntries.push_back({ spellInfo->Id, 0, uint16(spellInfo->CategoryEntry->ID), int32(cooldown), int32(categoryCooldown) }); + knownSpells.SpellHistoryEntries.push_back({ spellInfo->Id, 0, uint16(spellInfo->GetCategory()), int32(cooldown), int32(categoryCooldown) }); } } diff --git a/src/server/game/Spells/SpellHistory.cpp b/src/server/game/Spells/SpellHistory.cpp index e338d5fbe2d..958ed21750e 100644 --- a/src/server/game/Spells/SpellHistory.cpp +++ b/src/server/game/Spells/SpellHistory.cpp @@ -537,6 +537,8 @@ uint32 SpellHistory::GetRemainingCooldown(SpellInfo const* spellInfo, bool withC end = catItr->second->CategoryEnd; } + else + return 0; Clock::time_point now = GameTime::GetGameTimeSystemPoint(); if (end < now)