diff options
| -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); |
