summaryrefslogtreecommitdiff
path: root/inflate.c
diff options
context:
space:
mode:
Diffstat (limited to 'inflate.c')
-rw-r--r--inflate.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/inflate.c b/inflate.c
index bed4e54..0b0ee87 100644
--- a/inflate.c
+++ b/inflate.c
@@ -145,7 +145,7 @@ int f;
145 { 145 {
146 case METHOD: 146 case METHOD:
147 NEEDBYTE 147 NEEDBYTE
148 if (((z->state->sub.method = NEXTBYTE) & 0xf != DEFLATED)) 148 if (((z->state->sub.method = NEXTBYTE) & 0xf) != DEFLATED)
149 { 149 {
150 z->state->mode = BAD; 150 z->state->mode = BAD;
151 z->msg = "unknown compression method"; 151 z->msg = "unknown compression method";
@@ -243,7 +243,10 @@ z_stream *z;
243 if (z == Z_NULL || z->state == Z_NULL) 243 if (z == Z_NULL || z->state == Z_NULL)
244 return Z_STREAM_ERROR; 244 return Z_STREAM_ERROR;
245 if (z->state->mode != BAD) 245 if (z->state->mode != BAD)
246 {
247 z->state->mode = BAD;
246 z->state->sub.marker = 0; 248 z->state->sub.marker = 0;
249 }
247 if ((n = z->avail_in) == 0) 250 if ((n = z->avail_in) == 0)
248 return Z_BUF_ERROR; 251 return Z_BUF_ERROR;
249 p = z->next_in; 252 p = z->next_in;
@@ -252,10 +255,12 @@ z_stream *z;
252 /* search */ 255 /* search */
253 while (n && m < 4) 256 while (n && m < 4)
254 { 257 {
255 if (*p == (m < 2 ? 0 : 0xff)) 258 if (*p == (Byte)(m < 2 ? 0 : 0xff))
256 m++; 259 m++;
257 else if (*p || m > 2) 260 else if (*p)
258 m = 0; 261 m = 0;
262 else
263 m = 4 - m;
259 p++, n--; 264 p++, n--;
260 } 265 }
261 266