aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelloKitty <andrew.blakely@ymail.com>2023-12-28 11:44:46 -0600
committerGitHub <noreply@github.com>2023-12-28 18:44:46 +0100
commit013a5710cadaf4eef8c42c22556730d4e180c99c (patch)
treece0970b1833a2d8fa371b9f730f90b65137cd7d3
parentacf5ce58a7d3ced306eeebd60dbc36732b21ad56 (diff)
Core/Items: Fix BuyItemFromVendorSlot slot validation (#29511)
Closes #29510
-rw-r--r--src/server/game/Entities/Player/Player.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 115972e8712..84a2fc80314 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -21716,8 +21716,9 @@ bool Player::BuyItemFromVendorSlot(ObjectGuid vendorguid, uint32 vendorslot, uin
if (count < 1) count = 1;
// cheating attempt
- if (slot > MAX_BAG_SIZE && slot != NULL_SLOT)
- return false;
+ if (slot != NULL_SLOT)
+ if ((bag != INVENTORY_SLOT_BAG_0 && slot > MAX_BAG_SIZE) || (bag == INVENTORY_SLOT_BAG_0 && slot >= INVENTORY_SLOT_ITEM_END))
+ return false;
if (!IsAlive())
return false;