* OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
* OR MODIFICATIONS.
*
- * $Id: deflate.c,v 1.8 1998/03/24 23:52:31 paulus Exp $
+ * $Id: deflate.c,v 1.10 2001/03/09 01:03:50 paulus Exp $
*/
#ifdef AIX4
|| options[3] != DEFLATE_CHK_SEQUENCE)
return NULL;
w_size = DEFLATE_SIZE(options[2]);
- if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE)
+ /*
+ * N.B. the 9 below should be DEFLATE_MIN_SIZE (8), but using
+ * 8 will cause kernel crashes because of a bug in zlib.
+ */
+ if (w_size < 9 || w_size > DEFLATE_MAX_SIZE)
return NULL;
|| options[3] != DEFLATE_CHK_SEQUENCE)
return NULL;
w_size = DEFLATE_SIZE(options[2]);
- if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE)
+ /*
+ * N.B. the 9 below should be DEFLATE_MIN_SIZE (8), but using
+ * 8 will cause kernel crashes because of a bug in zlib.
+ */
+ if (w_size < 9 || w_size > DEFLATE_MAX_SIZE)
return NULL;
#ifdef __osf__
mo->b_rptr += state->hdrlen;
mo->b_wptr = wptr = mo->b_rptr;
ospace = DECOMP_CHUNK;
+ olen = 0;
/*
* Fill in the first part of the PPP header. The protocol field
state->strm.next_out = wptr + 3;
state->strm.avail_out = 1;
decode_proto = 1;
- olen = PPP_HDRLEN;
/*
* Call inflate, supplying more input or output as needed.
wptr[2] = wptr[3];
--state->strm.next_out;
++state->strm.avail_out;
- --olen;
}
decode_proto = 0;
} else {