[8091] Check bag size at item protos loading and item slots at invetory loading.

This is single not safe places in work with bag slots in current code.
This commit is contained in:
VladimirMangos 2009-06-29 12:47:40 +04:00
parent f420fdde77
commit ac7a7417fe
3 changed files with 8 additions and 2 deletions

View file

@ -14754,7 +14754,7 @@ void Player::_LoadInventory(QueryResult *result, uint32 timediff)
item->SetSlot(NULL_SLOT);
// the item is in a bag, find the bag
std::map<uint64, Bag*>::const_iterator itr = bagMap.find(bag_guid);
if(itr != bagMap.end())
if(itr != bagMap.end() && slot < itr->second->GetBagSize())
itr->second->StoreItem(slot, item, true );
else
success = false;