diff options
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/unzip.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libbb/unzip.c b/libbb/unzip.c index bb32891be..69cc8198b 100644 --- a/libbb/unzip.c +++ b/libbb/unzip.c @@ -875,6 +875,14 @@ static int inflate(void) } } while (!e); + /* Undo too much lookahead. The next read will be byte aligned so we + * can discard unused bits in the last meaningful byte. + */ + while (bk >= 8) { + bk -= 8; + ungetc((bb << bk), in_file); + } + /* flush out window */ flush_window(); |