diff options
Diffstat (limited to 'infcodes.c')
-rw-r--r-- | infcodes.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -221,6 +221,13 @@ int r; | |||
221 | c->mode = START; | 221 | c->mode = START; |
222 | break; | 222 | break; |
223 | case WASH: /* o: got eob, possibly more output */ | 223 | case WASH: /* o: got eob, possibly more output */ |
224 | if (k > 7) /* return unused byte, if any */ | ||
225 | { | ||
226 | Assert(k < 16, "inflate_codes grabbed too many bytes") | ||
227 | k -= 8; | ||
228 | n++; | ||
229 | p--; /* can always return one */ | ||
230 | } | ||
224 | FLUSH | 231 | FLUSH |
225 | if (s->read != s->write) | 232 | if (s->read != s->write) |
226 | LEAVE | 233 | LEAVE |