From e17a7005a1f290acd4081e9b0e64b67a0ad2de86 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Fri, 1 Aug 2014 14:33:50 +0200 Subject: [PATCH] Throw exception on invalid chunk --- .../level/generator/GenerationRequestManager.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pocketmine/level/generator/GenerationRequestManager.php b/src/pocketmine/level/generator/GenerationRequestManager.php index 9a79e30b6..dc717fd4a 100644 --- a/src/pocketmine/level/generator/GenerationRequestManager.php +++ b/src/pocketmine/level/generator/GenerationRequestManager.php @@ -22,6 +22,7 @@ namespace pocketmine\level\generator; use pocketmine\level\format\FullChunk; +use pocketmine\level\format\mcregion\Chunk; use pocketmine\level\Level; use pocketmine\Server; use pocketmine\utils\Binary; @@ -89,7 +90,12 @@ class GenerationRequestManager{ protected function handleRequest($levelID, $chunkX, $chunkZ){ if(($level = $this->server->getLevel($levelID)) instanceof Level){ - $this->sendChunk($levelID, $level->getChunkAt($chunkX, $chunkZ, true)); + $chunk = $level->getChunkAt($chunkX, $chunkZ, true); + if($chunk instanceof FullChunk){ + $this->sendChunk($levelID, $chunk); + }else{ + throw new \Exception("Invalid Chunk given"); + } }else{ $buffer = chr(GenerationManager::PACKET_CLOSE_LEVEL) . Binary::writeInt($levelID); @socket_write($this->socket, Binary::writeInt(strlen($buffer)) . $buffer);