diff options
author | Ovahlord <dreadkiller@gmx.de> | 2022-11-23 21:01:09 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-01-12 22:55:18 +0100 |
commit | d03a5b802d91946b736880855943678273297ebc (patch) | |
tree | 14262ac9cd8c5e0ca133282fb1641dd8e7e9d614 /src | |
parent | 4d16d988fb6788209250ab3d8516d9cc2dc9704f (diff) |
Core/Units: ensure that we use valid iterators when providing spell Ids in Unit::RemoveAppliedAuras and Unit::RemoveOwnedAuras
(cherry picked from commit 4a1989269643a3a441f91c50da6c3153d95a15fe)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 0f6cd37659a..69d54dc4ea0 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3644,6 +3644,7 @@ void Unit::RemoveAppliedAuras(uint32 spellId, std::function<bool(AuraApplication if (check(iter->second)) { RemoveAura(iter, removeMode); + iter = m_appliedAuras.lower_bound(spellId); continue; } ++iter; @@ -3657,6 +3658,7 @@ void Unit::RemoveOwnedAuras(uint32 spellId, std::function<bool(Aura const*)> con if (check(iter->second)) { RemoveOwnedAura(iter, removeMode); + iter = m_ownedAuras.lower_bound(spellId); continue; } ++iter; |