From 622fe9998200c7894241468167d8f49d4934f814 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 23 Jul 2018 14:38:46 +0100 Subject: [PATCH] NetworkSession: Don't crash on failure to decode compressed batches this could be an outdated version (pre-1.1 for example). --- src/pocketmine/network/mcpe/NetworkSession.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pocketmine/network/mcpe/NetworkSession.php b/src/pocketmine/network/mcpe/NetworkSession.php index 333dace3b..7e409cca0 100644 --- a/src/pocketmine/network/mcpe/NetworkSession.php +++ b/src/pocketmine/network/mcpe/NetworkSession.php @@ -144,7 +144,13 @@ class NetworkSession{ //TODO: decryption if enabled - $stream = new PacketStream(NetworkCompression::decompress($payload)); + try{ + $stream = new PacketStream(NetworkCompression::decompress($payload)); + }catch(\ErrorException $e){ + $this->server->getLogger()->debug("Failed to decompress packet from " . $this->ip . " " . $this->port . ": " . bin2hex($payload)); + $this->disconnect("Compressed packet batch decode error (incompatible game version?)", false); + return; + } while(!$stream->feof() and $this->connected){ $this->handleDataPacket(PacketPool::getPacket($stream->getString())); }