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:
Tim Kientzle 2009-01-01 02:29:57 +00:00
parent c2f74a4555
commit a612d4d7ae

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. */