diff options
Diffstat (limited to 'inflate.c')
-rw-r--r-- | inflate.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -763,9 +763,10 @@ int flush; | |||
763 | copy = state->length; | 763 | copy = state->length; |
764 | if (copy > have) copy = have; | 764 | if (copy > have) copy = have; |
765 | if (copy) { | 765 | if (copy) { |
766 | len = state->head->extra_len - state->length; | ||
766 | if (state->head != Z_NULL && | 767 | if (state->head != Z_NULL && |
767 | state->head->extra != Z_NULL) { | 768 | state->head->extra != Z_NULL && |
768 | len = state->head->extra_len - state->length; | 769 | len < state->head->extra_max) { |
769 | zmemcpy(state->head->extra + len, next, | 770 | zmemcpy(state->head->extra + len, next, |
770 | len + copy > state->head->extra_max ? | 771 | len + copy > state->head->extra_max ? |
771 | state->head->extra_max - len : copy); | 772 | state->head->extra_max - len : copy); |