Reinitialize initial shift register value for on each pass.
-Erik
diff --git a/libbb/unzip.c b/libbb/unzip.c
index 8075fd7..9f6ed2e 100644
--- a/libbb/unzip.c
+++ b/libbb/unzip.c
@@ -73,7 +73,7 @@
static unsigned char *window;
static unsigned long *crc_table;
-static unsigned long crc = 0xffffffffL; /* shift register contents */
+static unsigned long crc; /* shift register contents */
/* Return codes from gzip */
static const int ERROR = 1;
@@ -126,6 +126,8 @@
const unsigned long poly = 0xedb88320; /* polynomial exclusive-or pattern */
unsigned short i; /* counter for all possible eight bit values */
+ /* initial shift register value */
+ crc = 0xffffffffL;
crc_table = (unsigned long *) malloc(256 * sizeof(unsigned long));
/* Compute and print table of CRC's, five per line */