Mercurial > dovecot > core-2.2
changeset 20501:6be0cfc31ba0
lib-compression: istream-zlib/lzma now differentiates between temporary errors and corruption.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Wed, 06 Jul 2016 13:24:03 +0300 |
parents | e67b0284f6d1 |
children | b6ae3fe5def8 |
files | src/lib-compression/istream-lzma.c src/lib-compression/istream-zlib.c |
diffstat | 2 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-compression/istream-lzma.c Tue Jul 05 20:58:29 2016 +0300 +++ b/src/lib-compression/istream-lzma.c Wed Jul 06 13:24:03 2016 +0300 @@ -153,7 +153,7 @@ 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 @@ 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) {
--- a/src/lib-compression/istream-zlib.c Tue Jul 05 20:58:29 2016 +0300 +++ b/src/lib-compression/istream-zlib.c Wed Jul 06 13:24:03 2016 +0300 @@ -282,7 +282,7 @@ 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");