From: Timo Sirainen Date: Wed, 6 Jul 2016 10:24:03 +0000 (+0300) Subject: lib-compression: istream-zlib/lzma now differentiates between temporary errors and... X-Git-Tag: 2.2.26~500 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d49e6f5aa065bc5cc5d5109e2e51fe1aa4d7fef6;p=thirdparty%2Fdovecot%2Fcore.git lib-compression: istream-zlib/lzma now differentiates between temporary errors and corruption. --- diff --git a/src/lib-compression/istream-lzma.c b/src/lib-compression/istream-lzma.c index 20bb93b17e..8ead55128e 100644 --- a/src/lib-compression/istream-lzma.c +++ b/src/lib-compression/istream-lzma.c @@ -153,7 +153,7 @@ static ssize_t i_stream_lzma_read(struct istream_private *stream) return -1; case LZMA_OPTIONS_ERROR: lzma_read_error(zstream, "Unsupported xz options"); - stream->istream.stream_errno = EINVAL; + stream->istream.stream_errno = EIO; return -1; case LZMA_MEM_ERROR: i_fatal_status(FATAL_OUTOFMEM, "lzma.read(%s): Out of memory", @@ -168,7 +168,7 @@ static ssize_t i_stream_lzma_read(struct istream_private *stream) default: lzma_read_error(zstream, t_strdup_printf( "lzma_code() failed with %d", ret)); - stream->istream.stream_errno = EINVAL; + stream->istream.stream_errno = EIO; return -1; } if (out_size == 0) { diff --git a/src/lib-compression/istream-zlib.c b/src/lib-compression/istream-zlib.c index b32a1d73e9..228095c422 100644 --- a/src/lib-compression/istream-zlib.c +++ b/src/lib-compression/istream-zlib.c @@ -282,7 +282,7 @@ static ssize_t i_stream_zlib_read(struct istream_private *stream) break; case Z_NEED_DICT: zlib_read_error(zstream, "can't read file without dict"); - stream->istream.stream_errno = EINVAL; + stream->istream.stream_errno = EIO; return -1; case Z_DATA_ERROR: zlib_read_error(zstream, "corrupted data");