aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2022-11-23 21:01:09 +0100
committerShauren <shauren.trinity@gmail.com>2023-01-12 22:55:18 +0100
commitd03a5b802d91946b736880855943678273297ebc (patch)
tree14262ac9cd8c5e0ca133282fb1641dd8e7e9d614 /src
parent4d16d988fb6788209250ab3d8516d9cc2dc9704f (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.cpp2
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;