From 719bed325eeebb7610473f8d513d7da896b0f4c3 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Mon, 9 Jan 2023 09:20:47 +0100 Subject: [PATCH] Core/Players: added a missing iterator check in Player::UnbindInstance --- src/server/game/Entities/Player/Player.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 1664acee8e..ac6d20450b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -18418,8 +18418,13 @@ InstanceSave* Player::GetInstanceSave(uint32 mapid, bool raid) void Player::UnbindInstance(uint32 mapid, Difficulty difficulty, bool unload) { - BoundInstancesMap::iterator itr = m_boundInstances[difficulty].find(mapid); - UnbindInstance(itr, difficulty, unload); + auto difficultyItr = m_boundInstances.find(difficulty); + if (difficultyItr != m_boundInstances.end()) + { + auto itr = difficultyItr->second.find(mapid); + if (itr != difficultyItr->second.end()) + UnbindInstance(itr, difficultyItr, unload); + } } void Player::UnbindInstance(BoundInstancesMap::iterator &itr, Difficulty difficulty, bool unload)