diff options
-rw-r--r-- | fitz/filt_flate.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fitz/filt_flate.c b/fitz/filt_flate.c index 46cd4ee8..0973c4fa 100644 --- a/fitz/filt_flate.c +++ b/fitz/filt_flate.c @@ -98,7 +98,12 @@ fz_processflated(fz_filter *f, fz_buffer *in, fz_buffer *out) in->rp = in->wp - zp->avail_in; out->wp = out->ep - zp->avail_out; - if (err == Z_STREAM_END || err == Z_BUF_ERROR) + if (err == Z_DATA_ERROR && in->eof && in->rp == in->wp) + { + fz_warn("ignoring zlib error: %s", zp->msg); + return fz_iodone; + } + else if (err == Z_STREAM_END || err == Z_BUF_ERROR) { return fz_iodone; } |