Re: qforeign-0.65: Bzip2: decompress hangs if data ends prematurely
Thu, 25 Oct 2001 12:06:53 +0200 (CEST), Michael Marte
I found that decompress hangs if data ends prematurely, i.e.
do content <- readFile fp doSomething (Bzip2.decompress content)
does not terminate in this case.
Try this patch (sorry, untested): --- examples/Bzip2.hsc~ Mon Jun 11 23:19:50 2001 +++ examples/Bzip2.hsc Thu Oct 25 17:55:19 2001 @@ -169,6 +169,7 @@ let blockIn = take blockSize input ok <- decompressBlock strm blockIn blockSize case ok of + RunOk 0 [] -> ioError (userError "bzip2: premature end of compressed data") RunOk inSize blockOut -> liftM (blockOut++) $ unsafeInterleaveIO $ decompressLoop strm (drop inSize input) StreamEnd output -> return output It's in CVS at SourceForge now. -- __("< Marcin Kowalczyk * qrczak@knm.org.pl http://qrczak.ids.net.pl/ \__/ ^^ SYGNATURA ZASTÊPCZA QRCZAK
participants (1)
-
Marcin 'Qrczak' Kowalczyk