From ad31916e2ad230d0e553203a5461bf7a8dc0d816 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 6 Jul 2016 13:24:03 +0300 Subject: [PATCH] lib-compression: istream-zlib/lzma now differentiates between temporary errors and corruption. --- src/lib-compression/istream-lzma.c | 4 ++-- src/lib-compression/istream-zlib.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib-compression/istream-lzma.c b/src/lib-compression/istream-lzma.c index 5cc21c68d1..9c24a00832 100644 --- a/src/lib-compression/istream-lzma.c +++ b/src/lib-compression/istream-lzma.c @@ -152,7 +152,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", @@ -167,7 +167,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 8e2d748d9d..4366ab330a 100644 --- a/src/lib-compression/istream-zlib.c +++ b/src/lib-compression/istream-zlib.c @@ -281,7 +281,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"); -- 2.47.3