aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-04-12 13:31:11 -0300
committerfunjoker <funjoker109@gmail.com>2020-04-27 12:25:52 +0200
commit296abf3e1229ea477fa5e266a6375c4a970f6300 (patch)
tree1e33d8843012f30eb15269a5ea922766ed0f0141 /src
parentfc0a037eef2a6a1dd1cc43f0233aaa1d400393be (diff)
Core/Player: fix use after free crash
(cherry picked from commit d914c55c0585fe31a9a1b9fe4e9d4a9b498e8e8f)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index ee367012efd..c511f318309 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -13875,10 +13875,11 @@ void Player::RemoveItemFromBuyBackSlot(uint32 slot, bool del)
pItem->RemoveFromWorld();
if (del)
{
- pItem->SetState(ITEM_REMOVED, this);
if (ItemTemplate const* itemTemplate = pItem->GetTemplate())
if (itemTemplate->GetFlags() & ITEM_FLAG_HAS_LOOT)
sLootItemStorage->RemoveStoredLootForContainer(pItem->GetGUID().GetCounter());
+
+ pItem->SetState(ITEM_REMOVED, this);
}
}