From 50e440f081a0edc293dcfe7333a91d764e3d15cd Mon Sep 17 00:00:00 2001 From: Mark Adler Date: Mon, 26 Sep 2011 18:20:32 -0700 Subject: [PATCH] Allow gzrewind() and gzseek() after a premature end-of-file. --- gzlib.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gzlib.c b/gzlib.c index e8cb479..c59bcda 100644 --- a/gzlib.c +++ b/gzlib.c @@ -265,7 +265,8 @@ int ZEXPORT gzrewind(file) state = (gz_statep)file; /* check that we're reading and that there's no error */ - if (state->mode != GZ_READ || state->err != Z_OK) + if (state->mode != GZ_READ || + (state->err != Z_OK && state->err != Z_BUF_ERROR)) return -1; /* back up and start over */ @@ -293,7 +294,7 @@ z_off64_t ZEXPORT gzseek64(file, offset, whence) return -1; /* check that there's no error */ - if (state->err != Z_OK) + if (state->err != Z_OK && state->err != Z_BUF_ERROR) return -1; /* can only seek from start or relative to current position */