diff --git a/engine/aff4.py b/engine/aff4.py index e0b247f..4071823 100644 --- a/engine/aff4.py +++ b/engine/aff4.py @@ -436,6 +436,8 @@ def read_member(self, name, max_bytes=None): out = d.decompress(raw, e.size + 1) if len(out) > e.size: raise zlib.error("member inflates past its declared size") + if not d.eof: + raise zlib.error("member is truncated") return out except zlib.error: raise Aff4Error(_t("aff4.member_decompress_failed") % name) @@ -524,6 +526,8 @@ def _read_chunk(self, chunk_id): out = d.decompress(raw, self.chunk_size + 1) if len(out) > self.chunk_size: raise zlib.error("chunk inflates past the chunk size") + if not d.eof: + raise zlib.error("chunk is truncated") return out except zlib.error: self.findings.append(