changeset 22500:bf1220873408

lib-compression: Fix assert in i_stream_zlib_seek Also fix same bug in i_stream_bzlib_seek, i_stream_lz4_seek, i_stream_lzma_seek.
author Anton Yuzhaninov <citrin@citrin.ru>
date Wed, 30 Aug 2017 20:49:17 -0400
parents 87723fc92363
children 99a2b945045f
files src/lib-compression/istream-bzlib.c src/lib-compression/istream-lz4.c src/lib-compression/istream-lzma.c src/lib-compression/istream-zlib.c
diffstat 4 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-compression/istream-bzlib.c	Fri Jul 14 17:00:21 2017 +0300
+++ b/src/lib-compression/istream-bzlib.c	Wed Aug 30 20:49:17 2017 -0400
@@ -226,7 +226,7 @@
 		stream->pos = stream->skip;
 	} else {
 		/* read and cache forward */
-		ssize_t ret = -1;
+		ssize_t ret;
 
 		do {
 			size_t avail = stream->pos - stream->skip;
@@ -235,6 +235,7 @@
 				i_stream_skip(&stream->istream,
 					      v_offset -
 					      stream->istream.v_offset);
+				ret = -1;
 				break;
 			}
 
--- a/src/lib-compression/istream-lz4.c	Fri Jul 14 17:00:21 2017 +0300
+++ b/src/lib-compression/istream-lz4.c	Wed Aug 30 20:49:17 2017 -0400
@@ -206,7 +206,7 @@
 		stream->pos = stream->skip;
 	} else {
 		/* read and cache forward */
-		ssize_t ret = -1;
+		ssize_t ret;
 
 		do {
 			size_t avail = stream->pos - stream->skip;
@@ -215,6 +215,7 @@
 				i_stream_skip(&stream->istream,
 					      v_offset -
 					      stream->istream.v_offset);
+				ret = -1;
 				break;
 			}
 
--- a/src/lib-compression/istream-lzma.c	Fri Jul 14 17:00:21 2017 +0300
+++ b/src/lib-compression/istream-lzma.c	Wed Aug 30 20:49:17 2017 -0400
@@ -235,7 +235,7 @@
 		stream->pos = stream->skip;
 	} else {
 		/* read and cache forward */
-		ssize_t ret = -1;
+		ssize_t ret;
 
 		do {
 			size_t avail = stream->pos - stream->skip;
@@ -244,6 +244,7 @@
 				i_stream_skip(&stream->istream,
 					      v_offset -
 					      stream->istream.v_offset);
+				ret = -1;
 				break;
 			}
 
--- a/src/lib-compression/istream-zlib.c	Fri Jul 14 17:00:21 2017 +0300
+++ b/src/lib-compression/istream-zlib.c	Wed Aug 30 20:49:17 2017 -0400
@@ -398,7 +398,7 @@
 		stream->pos = stream->skip;
 	} else {
 		/* read and cache forward */
-		ssize_t ret = -1;
+		ssize_t ret;
 
 		do {
 			size_t avail = stream->pos - stream->skip;
@@ -407,6 +407,7 @@
 				i_stream_skip(&stream->istream,
 					      v_offset -
 					      stream->istream.v_offset);
+				ret = -1;
 				break;
 			}