[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

@ -1735,6 +1735,12 @@ void ObjectMgr::LoadItemPrototypes()
const_cast<ItemPrototype*>(proto)->Stackable = 1000;
}
if(proto->ContainerSlots > MAX_BAG_SIZE)
{
sLog.outErrorDb("Item (Entry: %u) has too large value in ContainerSlots (%u), replace by hardcoded limit (%u).",i,proto->ContainerSlots,MAX_BAG_SIZE);
const_cast<ItemPrototype*>(proto)->ContainerSlots = MAX_BAG_SIZE;
}
if(proto->StatsCount > MAX_ITEM_PROTO_STATS)
{
sLog.outErrorDb("Item (Entry: %u) has too large value in statscount (%u), replace by hardcoded limit (%u).",i,proto->StatsCount,MAX_ITEM_PROTO_STATS);