diff options
author | HelloKitty <andrew.blakely@ymail.com> | 2023-12-28 11:44:46 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-28 18:44:46 +0100 |
commit | 013a5710cadaf4eef8c42c22556730d4e180c99c (patch) | |
tree | ce0970b1833a2d8fa371b9f730f90b65137cd7d3 | |
parent | acf5ce58a7d3ced306eeebd60dbc36732b21ad56 (diff) |
Core/Items: Fix BuyItemFromVendorSlot slot validation (#29511)
Closes #29510
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 5 |
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; |