diff --git a/src/pocketmine/network/mcpe/NetworkBinaryStream.php b/src/pocketmine/network/mcpe/NetworkBinaryStream.php index aceb3c60c..b0d75682a 100644 --- a/src/pocketmine/network/mcpe/NetworkBinaryStream.php +++ b/src/pocketmine/network/mcpe/NetworkBinaryStream.php @@ -105,7 +105,7 @@ class NetworkBinaryStream extends BinaryStream{ if($c !== 1){ throw new BadPacketException("Unexpected NBT count $c"); } - $compound = (new NetworkNbtSerializer())->read($this->buffer, $this->offset)->getTag(); + $compound = (new NetworkNbtSerializer())->read($this->buffer, $this->offset, 512)->getTag(); }elseif($nbtLen !== 0){ throw new BadPacketException("Unexpected fake NBT length $nbtLen"); } diff --git a/src/pocketmine/network/mcpe/handler/SimpleSessionHandler.php b/src/pocketmine/network/mcpe/handler/SimpleSessionHandler.php index 724f19ea3..640764c84 100644 --- a/src/pocketmine/network/mcpe/handler/SimpleSessionHandler.php +++ b/src/pocketmine/network/mcpe/handler/SimpleSessionHandler.php @@ -436,7 +436,8 @@ class SimpleSessionHandler extends SessionHandler{ $block = $this->player->getLevel()->getBlock($pos); try{ - $nbt = (new NetworkNbtSerializer())->read($packet->namedtag)->getTag(); + $offset = 0; + $nbt = (new NetworkNbtSerializer())->read($packet->namedtag, $offset, 512)->getTag(); }catch(NbtDataException $e){ throw new BadPacketException($e->getMessage(), 0, $e); }