| diff -ru libz-1.2.8.2015.12.26.orig/inflate.c libz-1.2.8.2015.12.26/inflate.c |
| |
| |
| @@ -595,8 +595,9 @@ |
| if (copy > have) copy = have; |
| if (copy) { |
| if (state->head != NULL && |
| - state->head->extra != NULL) { |
| - len = state->head->extra_len - state->length; |
| + state->head->extra != NULL && |
| + (len = state->head->extra_max - state->length) < |
| + state->head->extra_max) { |
| memcpy(state->head->extra + len, next, |
| len + copy > state->head->extra_max ? |
| state->head->extra_max - len : copy); |