diff --git a/src/pocketmine/network/mcpe/NetworkBinaryStream.php b/src/pocketmine/network/mcpe/NetworkBinaryStream.php index 32a3629e9..85c6766ab 100644 --- a/src/pocketmine/network/mcpe/NetworkBinaryStream.php +++ b/src/pocketmine/network/mcpe/NetworkBinaryStream.php @@ -93,7 +93,11 @@ class NetworkBinaryStream extends BinaryStream{ if($c !== 1){ throw new \UnexpectedValueException("Unexpected NBT count $c"); } - $nbt = (new NetworkLittleEndianNBTStream())->read($this->buffer, false, $this->offset, 512); + $decodedNBT = (new NetworkLittleEndianNBTStream())->read($this->buffer, false, $this->offset, 512); + if(!($decodedNBT instanceof CompoundTag)){ + throw new \UnexpectedValueException("Unexpected root tag type for itemstack"); + } + $nbt = $decodedNBT; }elseif($nbtLen !== 0){ throw new \UnexpectedValueException("Unexpected fake NBT length $nbtLen"); }