From dbca36e5e289169deaabb836d5bba9c106fa5564 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 11 Dec 2019 22:45:14 +0000 Subject: [PATCH] SkinImage: throw on wrong data length --- src/pocketmine/network/mcpe/protocol/types/SkinImage.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pocketmine/network/mcpe/protocol/types/SkinImage.php b/src/pocketmine/network/mcpe/protocol/types/SkinImage.php index a588184db..fcb0c966f 100644 --- a/src/pocketmine/network/mcpe/protocol/types/SkinImage.php +++ b/src/pocketmine/network/mcpe/protocol/types/SkinImage.php @@ -34,6 +34,9 @@ class SkinImage{ private $data; public function __construct(int $height, int $width, string $data){ + if(($expected = $height * $width * 4) !== ($actual = strlen($data))){ + throw new \InvalidArgumentException("Data should be exactly $expected bytes, got $actual bytes"); + } $this->height = $height; $this->width = $width; $this->data = $data;