diff options
author | robinsch <robinsch@users.noreply.github.com> | 2021-08-09 14:47:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-09 15:47:35 +0200 |
commit | 1b9ee9525316861dd1d2099ed355a221ffc47e3b (patch) | |
tree | 40fc435593fd40b0c79c2c13cb60b89de32df320 /src | |
parent | ec3b571ecaa21cac3aaf35075b21767424bca4bf (diff) |
Core/Item: Fixed another possible container exploit due to invalid loading of stored loot items in DB (#26795)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Loot/LootItemStorage.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Loot/LootItemStorage.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Loot/LootItemStorage.cpp b/src/server/game/Loot/LootItemStorage.cpp index 36f3c3a12ad..69d9a0f2e71 100644 --- a/src/server/game/Loot/LootItemStorage.cpp +++ b/src/server/game/Loot/LootItemStorage.cpp @@ -32,7 +32,7 @@ namespace std::unordered_map<uint32, StoredLootContainer> _lootItemStore; } -StoredLootItem::StoredLootItem(LootItem const& lootItem) : ItemId(lootItem.itemid), Count(lootItem.count), FollowRules(lootItem.follow_loot_rules), +StoredLootItem::StoredLootItem(LootItem const& lootItem) : ItemId(lootItem.itemid), Count(lootItem.count), ItemIndex(lootItem.itemIndex), FollowRules(lootItem.follow_loot_rules), FFA(lootItem.freeforall), Blocked(lootItem.is_blocked), Counted(lootItem.is_counted), UnderThreshold(lootItem.is_underthreshold), NeedsQuest(lootItem.needs_quest), RandomPropertyId(lootItem.randomPropertyId), RandomSuffix(lootItem.randomSuffix) { @@ -157,6 +157,7 @@ bool LootItemStorage::LoadStoredLoot(Item* item, Player* player) LootItem li; li.itemid = storedItemPair.first; li.count = storedItemPair.second.Count; + li.itemIndex = storedItemPair.second.ItemIndex; li.follow_loot_rules = storedItemPair.second.FollowRules; li.freeforall = storedItemPair.second.FFA; li.is_blocked = storedItemPair.second.Blocked; diff --git a/src/server/game/Loot/LootItemStorage.h b/src/server/game/Loot/LootItemStorage.h index d3903721e4c..1a80c1d29c5 100644 --- a/src/server/game/Loot/LootItemStorage.h +++ b/src/server/game/Loot/LootItemStorage.h @@ -35,6 +35,7 @@ struct StoredLootItem uint32 ItemId; uint32 Count; + uint32 ItemIndex; bool FollowRules; bool FFA; bool Blocked; |