Paul Giaccone wrote:
Paul Giaccone wrote:
How can you deal with a corrupt file when using filters?
This works fine if the file is as is required, but if it is corrupted in any way, the program either hangs or crashes at
if (s->strm != strm) return BZ_PARAM_ERROR;
in bzlib.c, with s as a pointer that cannot be read (set to 0xcdcdcdcd).
So how can I catch a problem at the bzip2 stage?
Is this a bug in the bzip library or in boost::iostreams? The crash is in BZ_API() (), which comes from from bzip.c. This function is being called from bzip2_base::end(), which is part of the boost::iostreams library. If someone would like to test this, I can provide the file that causes the problem. I'd like to know whether I should be posting this problem to the makers of bzip instead. Thanks.