Don't try to read the next Gzip header after we reach the

end of the compressed stream.  This is desirable behavior,
but the implementation here is very broken and causes strange
problems, so disable it for now.

Thanks to Simon L. Nielsen for reporting this problem.
This commit is contained in:
kientzle 2009-01-01 02:29:57 +00:00
parent b3e5e62b89
commit 7afd406b93

View File

@ -428,8 +428,9 @@ gzip_source_read(struct archive_read_source *self, const void **p)
"Failed to clean up gzip decompressor");
return (ARCHIVE_FATAL);
}
/* Restart header parser with the next block. */
state->header_state = state->header_done = 0;
/* zlib has been torn down */
state->header_done = 0;
state->eof = 1;
/* FALL THROUGH */
case Z_OK: /* Decompressor made some progress. */
/* If we filled our buffer, update stats and return. */