aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastian Valle Herrera <subv2112@gmail.com>2014-06-07 19:23:38 -0500
committerSebastian Valle Herrera <subv2112@gmail.com>2014-06-07 19:23:38 -0500
commite1e5f2a196240707f1671a02df6bd4966fed67f3 (patch)
tree167d41d53f5a874c1784951f147de324324ee238 /src
parentcfd527c88070bc30ce6fbe384ccf18a7c3322f96 (diff)
Core/Items: Fixed a transmogrify exploit
Thanks @Rochet2 Closes #11952
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index 168d45cecca..741dec9bfec 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -1495,6 +1495,12 @@ void WorldSession::HandleTransmogrifyItems(WorldPacket& recvData)
}
else
{
+ if (itemTransmogrifier->GetEntry() != newEntries[i])
+ {
+ TC_LOG_DEBUG("network", "WORLD: HandleTransmogrifyItems - Player (GUID: %u, name: %s) tried to transmogrify with an invalid entry (entry: %u) for item (lowguid: %u).", player->GetGUIDLow(), player->GetName().c_str(), newEntries[i], GUID_LOPART(itemGuids[i]));
+ return;
+ }
+
if (!Item::CanTransmogrifyItemWithItem(itemTransmogrified, itemTransmogrifier))
{
TC_LOG_DEBUG("network", "WORLD: HandleTransmogrifyItems - Player (GUID: %u, name: %s) failed CanTransmogrifyItemWithItem (%u with %u).", player->GetGUIDLow(), player->GetName().c_str(), itemTransmogrified->GetEntry(), itemTransmogrifier->GetEntry());