From 603e41283fbd96fd49d2791323bcd6a947cf661a Mon Sep 17 00:00:00 2001 From: David Vierra Date: Mon, 26 Nov 2012 02:10:39 -1000 Subject: [PATCH] Fixed: Make sure chunk data is at least 5 bytes long for the chunk header. --- regionfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/regionfile.py b/regionfile.py index af19fa7..8c5bd55 100644 --- a/regionfile.py +++ b/regionfile.py @@ -181,7 +181,9 @@ class MCRegionFile(object): with self.file as f: f.seek(sectorStart * self.SECTOR_BYTES) data = f.read(numSectors * self.SECTOR_BYTES) - assert(len(data) > 0) + if len(data) < 5: + raise RegionMalformed, "Chunk data is only %d bytes long (expected 5)" % len(data) + # log.debug("REGION LOAD {0},{1} sector {2}".format(cx, cz, sectorStart)) length = struct.unpack_from(">I", data)[0]