aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-04-12 13:31:11 -0300
committerariel- <ariel-@users.noreply.github.com>2017-04-12 13:31:11 -0300
commitd914c55c0585fe31a9a1b9fe4e9d4a9b498e8e8f (patch)
tree589985849997e38ec9f6ffe3bedfcffe8ed0703d /src
parent83177e771a373514913d066e14d5a7f9775407fe (diff)
Core/Player: fix use after free crash
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 5db36e22530..e5620a0e0b0 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -13400,10 +13400,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->Flags & ITEM_FLAG_HAS_LOOT)
sLootItemStorage->RemoveStoredLootForContainer(pItem->GetGUID().GetCounter());
+
+ pItem->SetState(ITEM_REMOVED, this);
}
}