From 9ba47f90d11cd74f8462d3813878c3ac0a91d5bb Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 16 Apr 2020 01:45:00 +0100 Subject: [PATCH] LoginPacketHandler: account for failure to correctly parse UUID this will still crash in some circumstances, pending merging bug fixes from stable. --- src/network/mcpe/handler/LoginPacketHandler.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/network/mcpe/handler/LoginPacketHandler.php b/src/network/mcpe/handler/LoginPacketHandler.php index c4f215e57..6df832e05 100644 --- a/src/network/mcpe/handler/LoginPacketHandler.php +++ b/src/network/mcpe/handler/LoginPacketHandler.php @@ -25,6 +25,7 @@ namespace pocketmine\network\mcpe\handler; use pocketmine\entity\Skin; use pocketmine\event\player\PlayerPreLoginEvent; +use pocketmine\network\BadPacketException; use pocketmine\network\mcpe\auth\ProcessLoginTask; use pocketmine\network\mcpe\NetworkSession; use pocketmine\network\mcpe\protocol\LoginPacket; @@ -111,9 +112,14 @@ class LoginPacketHandler extends PacketHandler{ return true; } + try{ + $uuid = UUID::fromString($packet->extraData->identity); + }catch(\InvalidArgumentException $e){ + throw BadPacketException::wrap($e, "Failed to parse login UUID"); + } $this->session->setPlayerInfo(new PlayerInfo( $packet->extraData->displayName, - UUID::fromString($packet->extraData->identity), + $uuid, $skin, $packet->clientData->LanguageCode, $packet->extraData->XUID,