From cfd4580388cfd4952cd215970024dbcda91b4290 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 14 Apr 2019 17:14:44 +0100 Subject: [PATCH] sync NBT network string length cap --- src/pocketmine/network/mcpe/NetworkNbtSerializer.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/pocketmine/network/mcpe/NetworkNbtSerializer.php b/src/pocketmine/network/mcpe/NetworkNbtSerializer.php index 689dcb7baf..776d3e9356 100644 --- a/src/pocketmine/network/mcpe/NetworkNbtSerializer.php +++ b/src/pocketmine/network/mcpe/NetworkNbtSerializer.php @@ -46,15 +46,11 @@ class NetworkNbtSerializer extends LittleEndianNbtSerializer{ } public function readString() : string{ - return $this->buffer->get($this->buffer->getUnsignedVarInt()); + return $this->buffer->get(self::checkReadStringLength($this->buffer->getUnsignedVarInt())); } public function writeString(string $v) : void{ - $len = strlen($v); - if($len > 32767){ - throw new \InvalidArgumentException("NBT strings cannot be longer than 32767 bytes, got $len bytes"); - } - $this->buffer->putUnsignedVarInt($len); + $this->buffer->putUnsignedVarInt(self::checkWriteStringLength(strlen($v))); $this->buffer->put($v); }