From 804feedb67adfa894be310e5823d92647632e01f Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 20 Mar 2023 00:54:33 +0000 Subject: [PATCH] Added some dumb limits --- src/network/mcpe/handler/InGamePacketHandler.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/network/mcpe/handler/InGamePacketHandler.php b/src/network/mcpe/handler/InGamePacketHandler.php index 70bb827a2..f4f882c80 100644 --- a/src/network/mcpe/handler/InGamePacketHandler.php +++ b/src/network/mcpe/handler/InGamePacketHandler.php @@ -532,6 +532,10 @@ class InGamePacketHandler extends PacketHandler{ } private function handleSingleItemStackRequest(ItemStackRequest $request) : ItemStackResponse{ + if(count($request->getActions()) > 20){ + //TODO: we can probably lower this limit, but this will do for now + throw new PacketHandlingException("Too many actions in ItemStackRequest"); + } $executor = new ItemStackRequestExecutor($this->player, $this->inventoryManager, $request); try{ $transaction = $executor->generateInventoryTransaction(); @@ -547,6 +551,10 @@ class InGamePacketHandler extends PacketHandler{ public function handleItemStackRequest(ItemStackRequestPacket $packet) : bool{ $responses = []; + if(count($packet->getRequests()) > 80){ + //TODO: we can probably lower this limit, but this will do for now + throw new PacketHandlingException("Too many requests in ItemStackRequestPacket"); + } foreach($packet->getRequests() as $request){ $responses[] = $this->handleSingleItemStackRequest($request); }