aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/ContainerSetContentPacket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/ContainerSetContentPacket.cpp')
-rw-r--r--Minecraft.World/ContainerSetContentPacket.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/Minecraft.World/ContainerSetContentPacket.cpp b/Minecraft.World/ContainerSetContentPacket.cpp
index 13cfebd7..28ce64e9 100644
--- a/Minecraft.World/ContainerSetContentPacket.cpp
+++ b/Minecraft.World/ContainerSetContentPacket.cpp
@@ -20,11 +20,11 @@ ContainerSetContentPacket::ContainerSetContentPacket()
ContainerSetContentPacket::ContainerSetContentPacket(int containerId, vector<shared_ptr<ItemInstance> > *newItems)
{
this->containerId = containerId;
- items = ItemInstanceArray((int)newItems->size());
+ items = ItemInstanceArray(static_cast<int>(newItems->size()));
for (unsigned int i = 0; i < items.length; i++)
{
shared_ptr<ItemInstance> item = newItems->at(i);
- items[i] = item == NULL ? nullptr : item->copy();
+ items[i] = item == nullptr ? nullptr : item->copy();
}
}
@@ -32,6 +32,9 @@ void ContainerSetContentPacket::read(DataInputStream *dis) //throws IOException
{
containerId = dis->readByte();
int count = dis->readShort();
+
+ if (count < 0 || count > 256) count = 0;
+
items = ItemInstanceArray(count);
for (int i = 0; i < count; i++)
{