Mit nem Puffer aus nem Decompression-Stream zu lesen halte ich für gefährlich...was, wenn du einen nicht-dekomprimierbaren Block erwischst?
Warum nutzt du nicht einfach "CopyFrom" ?
Delphi-Quellcode:
CompressorStream := TZCompressionStream.Create(Stream);
MemoryStream := TMemoryStream.Create();
MemoryStream.CopyFrom(CompressorStream,0);
FreeAndNil(CompressorStream) ;
MemoryStream.Seek(0,soFromBeginning) ;