From 1c71d8b13b54f91ddec361d3053ecce26e6ff761 Mon Sep 17 00:00:00 2001 From: Mark Adler Date: Fri, 9 Sep 2011 23:07:35 -0700 Subject: zlib 0.91 --- inflate.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'inflate.c') diff --git a/inflate.c b/inflate.c index bed4e54..0b0ee87 100644 --- a/inflate.c +++ b/inflate.c @@ -145,7 +145,7 @@ int f; { case METHOD: NEEDBYTE - if (((z->state->sub.method = NEXTBYTE) & 0xf != DEFLATED)) + if (((z->state->sub.method = NEXTBYTE) & 0xf) != DEFLATED) { z->state->mode = BAD; z->msg = "unknown compression method"; @@ -243,7 +243,10 @@ z_stream *z; if (z == Z_NULL || z->state == Z_NULL) return Z_STREAM_ERROR; if (z->state->mode != BAD) + { + z->state->mode = BAD; z->state->sub.marker = 0; + } if ((n = z->avail_in) == 0) return Z_BUF_ERROR; p = z->next_in; @@ -252,10 +255,12 @@ z_stream *z; /* search */ while (n && m < 4) { - if (*p == (m < 2 ? 0 : 0xff)) + if (*p == (Byte)(m < 2 ? 0 : 0xff)) m++; - else if (*p || m > 2) + else if (*p) m = 0; + else + m = 4 - m; p++, n--; } -- cgit v1.2.3-55-g6feb