line |
true |
false |
branch |
109
|
101309 |
0 |
if (strm == Z_NULL || |
|
101309 |
0 |
if (strm == Z_NULL || |
110
|
0 |
101309 |
strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) |
113
|
101309 |
0 |
if (state == Z_NULL || state->strm != strm || |
|
101309 |
0 |
if (state == Z_NULL || state->strm != strm || |
|
101309 |
0 |
if (state == Z_NULL || state->strm != strm || |
114
|
0 |
101309 |
state->mode < HEAD || state->mode > SYNC) |
124
|
0 |
47 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
128
|
42 |
5 |
if (state->wrap) /* to support ill-conceived Java test suite */ |
150
|
0 |
47 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
166
|
0 |
45 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
170
|
3 |
42 |
if (windowBits < 0) { |
171
|
0 |
3 |
if (windowBits < -15) |
179
|
42 |
0 |
if (windowBits < 48) |
185
|
45 |
0 |
if (windowBits && (windowBits < 8 || windowBits > 15)) |
|
45 |
0 |
if (windowBits && (windowBits < 8 || windowBits > 15)) |
|
0 |
45 |
if (windowBits && (windowBits < 8 || windowBits > 15)) |
187
|
0 |
45 |
if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) { |
|
0 |
0 |
if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) { |
207
|
45 |
0 |
if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || |
|
45 |
0 |
if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || |
|
0 |
45 |
if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || |
210
|
0 |
45 |
if (strm == Z_NULL) return Z_STREAM_ERROR; |
212
|
0 |
45 |
if (strm->zalloc == (alloc_func)0) { |
220
|
0 |
45 |
if (strm->zfree == (free_func)0) |
228
|
0 |
45 |
if (state == Z_NULL) return Z_MEM_ERROR; |
235
|
0 |
45 |
if (ret != Z_OK) { |
257
|
0 |
0 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
259
|
0 |
0 |
if (bits < 0) { |
264
|
0 |
0 |
if (bits > 16 || state->bits + (uInt)bits > 32) return Z_STREAM_ERROR; |
|
0 |
0 |
if (bits > 16 || state->bits + (uInt)bits > 32) return Z_STREAM_ERROR; |
410
|
35 |
100781 |
if (state->window == Z_NULL) { |
414
|
0 |
35 |
if (state->window == Z_NULL) return 1; |
418
|
35 |
100781 |
if (state->wsize == 0) { |
425
|
1 |
100815 |
if (copy >= state->wsize) { |
432
|
100808 |
7 |
if (dist > copy) dist = copy; |
435
|
6 |
100809 |
if (copy) { |
442
|
1 |
100808 |
if (state->wnext == state->wsize) state->wnext = 0; |
443
|
66317 |
34492 |
if (state->whave < state->wsize) state->whave += dist; |
648
|
100954 |
0 |
if (inflateStateCheck(strm) || strm->next_out == Z_NULL || |
|
100954 |
0 |
if (inflateStateCheck(strm) || strm->next_out == Z_NULL || |
|
0 |
100954 |
if (inflateStateCheck(strm) || strm->next_out == Z_NULL || |
649
|
0 |
0 |
(strm->next_in == Z_NULL && strm->avail_in != 0)) |
653
|
15 |
100939 |
if (state->mode == TYPE) state->mode = TYPEDO; /* skip check */ |
661
|
2 |
63 |
if (state->wrap == 0) { |
665
|
24 |
80 |
NEEDBITS(16); |
|
104 |
39 |
NEEDBITS(16); |
667
|
5 |
34 |
if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */ |
|
3 |
2 |
if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */ |
668
|
0 |
3 |
if (state->wbits == 0) |
676
|
0 |
36 |
if (state->head != Z_NULL) |
678
|
35 |
1 |
if (!(state->wrap & 1) || /* check if zlib header allowed */ |
|
2 |
33 |
if (!(state->wrap & 1) || /* check if zlib header allowed */ |
687
|
0 |
33 |
if (BITS(4) != Z_DEFLATED) { |
694
|
0 |
33 |
if (state->wbits == 0) |
696
|
33 |
0 |
if (len > 15 || len > state->wbits) { |
|
0 |
33 |
if (len > 15 || len > state->wbits) { |
705
|
1 |
32 |
state->mode = hold & 0x200 ? DICTID : TYPE; |
710
|
0 |
6 |
NEEDBITS(16); |
|
6 |
3 |
NEEDBITS(16); |
712
|
0 |
3 |
if ((state->flags & 0xff) != Z_DEFLATED) { |
717
|
0 |
3 |
if (state->flags & 0xe000) { |
722
|
0 |
3 |
if (state->head != Z_NULL) |
724
|
0 |
3 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
730
|
0 |
12 |
NEEDBITS(32); |
|
12 |
3 |
NEEDBITS(32); |
731
|
0 |
3 |
if (state->head != Z_NULL) |
733
|
0 |
3 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
739
|
0 |
6 |
NEEDBITS(16); |
|
6 |
3 |
NEEDBITS(16); |
740
|
0 |
3 |
if (state->head != Z_NULL) { |
744
|
0 |
3 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
750
|
0 |
3 |
if (state->flags & 0x0400) { |
751
|
0 |
0 |
NEEDBITS(16); |
|
0 |
0 |
NEEDBITS(16); |
753
|
0 |
0 |
if (state->head != Z_NULL) |
755
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
759
|
0 |
3 |
else if (state->head != Z_NULL) |
764
|
0 |
3 |
if (state->flags & 0x0400) { |
766
|
0 |
0 |
if (copy > have) copy = have; |
767
|
0 |
0 |
if (copy) { |
768
|
0 |
0 |
if (state->head != Z_NULL && |
|
0 |
0 |
if (state->head != Z_NULL && |
769
|
0 |
0 |
state->head->extra != Z_NULL && |
772
|
0 |
0 |
zmemcpy(state->head->extra + len, next, |
776
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
782
|
0 |
0 |
if (state->length) goto inf_leave; |
788
|
0 |
3 |
if (state->flags & 0x0800) { |
789
|
0 |
0 |
if (have == 0) goto inf_leave; |
793
|
0 |
0 |
if (state->head != Z_NULL && |
|
0 |
0 |
if (state->head != Z_NULL && |
794
|
0 |
0 |
state->head->name != Z_NULL && |
797
|
0 |
0 |
} while (len && copy < have); |
|
0 |
0 |
} while (len && copy < have); |
798
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
802
|
0 |
0 |
if (len) goto inf_leave; |
804
|
0 |
3 |
else if (state->head != Z_NULL) |
810
|
0 |
3 |
if (state->flags & 0x1000) { |
811
|
0 |
0 |
if (have == 0) goto inf_leave; |
815
|
0 |
0 |
if (state->head != Z_NULL && |
|
0 |
0 |
if (state->head != Z_NULL && |
816
|
0 |
0 |
state->head->comment != Z_NULL && |
819
|
0 |
0 |
} while (len && copy < have); |
|
0 |
0 |
} while (len && copy < have); |
820
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
|
0 |
0 |
if ((state->flags & 0x0200) && (state->wrap & 4)) |
824
|
0 |
0 |
if (len) goto inf_leave; |
826
|
0 |
3 |
else if (state->head != Z_NULL) |
831
|
0 |
3 |
if (state->flags & 0x0200) { |
832
|
0 |
0 |
NEEDBITS(16); |
|
0 |
0 |
NEEDBITS(16); |
833
|
0 |
0 |
if ((state->wrap & 4) && hold != (state->check & 0xffff)) { |
|
0 |
0 |
if ((state->wrap & 4) && hold != (state->check & 0xffff)) { |
840
|
0 |
3 |
if (state->head != Z_NULL) { |
849
|
0 |
4 |
NEEDBITS(32); |
|
4 |
1 |
NEEDBITS(32); |
855
|
1 |
1 |
if (state->havedict == 0) { |
863
|
80 |
0 |
if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave; |
|
80 |
0 |
if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave; |
866
|
39 |
71 |
if (state->last) { |
871
|
26 |
44 |
NEEDBITS(3); |
|
70 |
45 |
NEEDBITS(3); |
885
|
0 |
25 |
if (flush == Z_TREES) { |
903
|
16 |
32 |
NEEDBITS(32); |
|
48 |
8 |
NEEDBITS(32); |
904
|
0 |
8 |
if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { |
914
|
0 |
8 |
if (flush == Z_TREES) goto inf_leave; |
921
|
150018 |
8 |
if (copy) { |
922
|
149998 |
20 |
if (copy > have) copy = have; |
923
|
12 |
150006 |
if (copy > left) copy = left; |
924
|
100006 |
50012 |
if (copy == 0) goto inf_leave; |
937
|
4 |
24 |
NEEDBITS(14); |
|
28 |
12 |
NEEDBITS(14); |
945
|
12 |
0 |
if (state->nlen > 286 || state->ndist > 30) { |
|
0 |
12 |
if (state->nlen > 286 || state->ndist > 30) { |
956
|
228 |
12 |
while (state->have < state->ncode) { |
957
|
12 |
73 |
NEEDBITS(3); |
|
85 |
216 |
NEEDBITS(3); |
961
|
12 |
12 |
while (state->have < 19) |
968
|
0 |
12 |
if (ret) { |
978
|
447 |
12 |
while (state->have < state->nlen + state->ndist) { |
981
|
427 |
147 |
if ((unsigned)(here.bits) <= bits) break; |
982
|
20 |
127 |
PULLBYTE(); |
984
|
288 |
139 |
if (here.val < 16) { |
989
|
1 |
138 |
if (here.val == 16) { |
990
|
0 |
1 |
NEEDBITS(here.bits + 2); |
|
1 |
1 |
NEEDBITS(here.bits + 2); |
992
|
0 |
1 |
if (state->have == 0) { |
1001
|
72 |
66 |
else if (here.val == 17) { |
1002
|
6 |
45 |
NEEDBITS(here.bits + 3); |
|
51 |
66 |
NEEDBITS(here.bits + 3); |
1009
|
8 |
39 |
NEEDBITS(here.bits + 7); |
|
47 |
58 |
NEEDBITS(here.bits + 7); |
1015
|
0 |
125 |
if (state->have + copy > state->nlen + state->ndist) { |
1020
|
3242 |
125 |
while (copy--) |
1026
|
0 |
12 |
if (state->mode == BAD) break; |
1029
|
0 |
12 |
if (state->lens[256] == 0) { |
1043
|
0 |
12 |
if (ret) { |
1052
|
0 |
12 |
if (ret) { |
1059
|
0 |
12 |
if (flush == Z_TREES) goto inf_leave; |
1065
|
461 |
788 |
if (have >= 6 && left >= 258) { |
|
129 |
332 |
if (have >= 6 && left >= 258) { |
1069
|
10 |
119 |
if (state->mode == TYPE) |
1076
|
678 |
875 |
if ((unsigned)(here.bits) <= bits) break; |
1077
|
442 |
433 |
PULLBYTE(); |
1079
|
235 |
443 |
if (here.op && (here.op & 0xf0) == 0) { |
|
0 |
235 |
if (here.op && (here.op & 0xf0) == 0) { |
1084
|
0 |
0 |
if ((unsigned)(last.bits + here.bits) <= bits) break; |
1085
|
0 |
0 |
PULLBYTE(); |
1093
|
443 |
235 |
if ((int)(here.op) == 0) { |
1100
|
26 |
209 |
if (here.op & 32) { |
1106
|
0 |
209 |
if (here.op & 64) { |
1115
|
4 |
207 |
if (state->extra) { |
1116
|
2 |
1 |
NEEDBITS(state->extra); |
|
3 |
2 |
NEEDBITS(state->extra); |
1128
|
209 |
21 |
if ((unsigned)(here.bits) <= bits) break; |
1129
|
0 |
21 |
PULLBYTE(); |
1131
|
0 |
209 |
if ((here.op & 0xf0) == 0) { |
1136
|
0 |
0 |
if ((unsigned)(last.bits + here.bits) <= bits) break; |
1137
|
0 |
0 |
PULLBYTE(); |
1144
|
0 |
209 |
if (here.op & 64) { |
1154
|
312 |
1 |
if (state->extra) { |
1155
|
104 |
78 |
NEEDBITS(state->extra); |
|
182 |
208 |
NEEDBITS(state->extra); |
1171
|
142 |
526 |
if (left == 0) goto inf_leave; |
1173
|
203 |
323 |
if (state->offset > copy) { /* copy from window */ |
1175
|
0 |
203 |
if (copy > state->whave) { |
1176
|
0 |
0 |
if (state->sane) { |
1195
|
1 |
202 |
if (copy > state->wnext) { |
1201
|
9 |
194 |
if (copy > state->length) copy = state->length; |
1207
|
135 |
391 |
if (copy > left) copy = left; |
1212
|
52645 |
526 |
} while (--copy); |
1213
|
208 |
318 |
if (state->length == 0) state->mode = LEN; |
1216
|
19 |
443 |
if (left == 0) goto inf_leave; |
1222
|
116 |
3 |
if (state->wrap) { |
1223
|
80 |
144 |
NEEDBITS(32); |
|
224 |
36 |
NEEDBITS(32); |
1227
|
36 |
0 |
if ((state->wrap & 4) && out) |
|
26 |
10 |
if ((state->wrap & 4) && out) |
1229
|
3 |
23 |
UPDATE_CHECK(state->check, put - out, out); |
1231
|
36 |
0 |
if ((state->wrap & 4) && ( |
|
0 |
36 |
if ((state->wrap & 4) && ( |
1233
|
33 |
3 |
state->flags ? hold : |
1247
|
36 |
3 |
if (state->wrap && state->flags) { |
|
3 |
33 |
if (state->wrap && state->flags) { |
1248
|
0 |
12 |
NEEDBITS(32); |
|
12 |
3 |
NEEDBITS(32); |
1249
|
3 |
0 |
if ((state->wrap & 4) && hold != (state->total & 0xffffffff)) { |
|
0 |
3 |
if ((state->wrap & 4) && hold != (state->total & 0xffffffff)) { |
1282
|
172 |
100781 |
if (state->wsize || (out != strm->avail_out && state->mode < BAD && |
|
34 |
138 |
if (state->wsize || (out != strm->avail_out && state->mode < BAD && |
|
34 |
0 |
if (state->wsize || (out != strm->avail_out && state->mode < BAD && |
|
1 |
33 |
if (state->wsize || (out != strm->avail_out && state->mode < BAD && |
1283
|
1 |
0 |
(state->mode < CHECK || flush != Z_FINISH))) |
1284
|
0 |
100815 |
if (updatewindow(strm, strm->next_out, out - strm->avail_out)) { |
1293
|
100756 |
197 |
if ((state->wrap & 4) && out) |
|
50357 |
50399 |
if ((state->wrap & 4) && out) |
1295
|
2 |
50355 |
UPDATE_CHECK(state->check, strm->next_out - out, out); |
1296
|
35320 |
65633 |
strm->data_type = (int)state->bits + (state->last ? 64 : 0) + |
1297
|
13 |
100940 |
(state->mode == TYPE ? 128 : 0) + |
1298
|
100953 |
0 |
(state->mode == LEN_ || state->mode == COPY_ ? 256 : 0); |
|
0 |
100953 |
(state->mode == LEN_ || state->mode == COPY_ ? 256 : 0); |
1299
|
50417 |
50536 |
if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK) |
|
45 |
50372 |
if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK) |
|
0 |
50581 |
if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK) |
|
50372 |
0 |
if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK) |
1308
|
0 |
45 |
if (inflateStateCheck(strm)) |
1311
|
35 |
10 |
if (state->window != Z_NULL) ZFREE(strm, state->window); |
1326
|
0 |
0 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
1330
|
0 |
0 |
if (state->whave && dictionary != Z_NULL) { |
|
0 |
0 |
if (state->whave && dictionary != Z_NULL) { |
1336
|
0 |
0 |
if (dictLength != Z_NULL) |
1351
|
0 |
1 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
1353
|
1 |
0 |
if (state->wrap != 0 && state->mode != DICT) |
|
0 |
1 |
if (state->wrap != 0 && state->mode != DICT) |
1357
|
1 |
0 |
if (state->mode == DICT) { |
1360
|
0 |
1 |
if (dictid != state->check) |
1367
|
0 |
1 |
if (ret) { |
1383
|
0 |
0 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
1385
|
0 |
0 |
if ((state->wrap & 2) == 0) return Z_STREAM_ERROR; |
1414
|
353 |
172 |
while (next < len && got < 4) { |
|
352 |
1 |
while (next < len && got < 4) { |
1415
|
348 |
4 |
if ((int)(buf[next]) == (got < 2 ? 0 : 0xff)) |
|
8 |
344 |
if ((int)(buf[next]) == (got < 2 ? 0 : 0xff)) |
1417
|
344 |
0 |
else if (buf[next]) |
1437
|
0 |
170 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
1439
|
0 |
170 |
if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR; |
|
0 |
0 |
if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR; |
1442
|
3 |
167 |
if (state->mode != SYNC) { |
1447
|
4 |
3 |
while (state->bits >= 8) { |
1463
|
168 |
2 |
if (state->have != 4) return Z_DATA_ERROR; |
1464
|
2 |
0 |
if (state->flags == -1) |
1490
|
0 |
0 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
1492
|
0 |
0 |
return state->mode == STORED && state->bits == 0; |
|
0 |
0 |
return state->mode == STORED && state->bits == 0; |
1505
|
0 |
0 |
if (inflateStateCheck(source) || dest == Z_NULL) |
|
0 |
0 |
if (inflateStateCheck(source) || dest == Z_NULL) |
1512
|
0 |
0 |
if (copy == Z_NULL) return Z_MEM_ERROR; |
1514
|
0 |
0 |
if (state->window != Z_NULL) { |
1517
|
0 |
0 |
if (window == Z_NULL) { |
1527
|
0 |
0 |
if (state->lencode >= state->codes && |
|
0 |
0 |
if (state->lencode >= state->codes && |
1533
|
0 |
0 |
if (window != Z_NULL) { |
1548
|
0 |
0 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
1566
|
0 |
0 |
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; |
1568
|
0 |
0 |
if (check && state->wrap) |
|
0 |
0 |
if (check && state->wrap) |
1580
|
0 |
0 |
if (inflateStateCheck(strm)) |
1583
|
0 |
0 |
return (long)(((unsigned long)((long)state->back)) << 16) + |
|
0 |
0 |
return (long)(((unsigned long)((long)state->back)) << 16) + |
1592
|
0 |
0 |
if (inflateStateCheck(strm)) return (unsigned long)-1; |