| line |
true |
false |
branch |
|
29
|
356 |
31 |
while (len > 0) { |
|
33
|
1857008 |
356 |
while (chunk--) { |
|
51
|
0 |
113 |
if (!params) return; |
|
93
|
860285 |
4814798 |
while (br->nbits < n) { |
|
94
|
2 |
860283 |
if (br->pos >= br->len) return -1; |
|
113
|
0 |
0 |
if (val < 0) return -1; |
|
117
|
0 |
0 |
for (i = 0; i < n; i++) { |
|
145
|
120995 |
1110 |
for (i = 0; i < n; i++) { |
|
146
|
0 |
120995 |
if (lengths[i] > HUFFMAN_MAX_BITS) return -1; |
|
153
|
16650 |
1110 |
for (i = 1; i <= HUFFMAN_MAX_BITS; i++) { |
|
159
|
120995 |
1110 |
for (i = 0; i < n; i++) { |
|
160
|
60642 |
60353 |
if (lengths[i] > 0) { |
|
176
|
4532412 |
0 |
for (len = 1; len <= HUFFMAN_MAX_BITS; len++) { |
|
179
|
0 |
4532412 |
if (bit < 0) return -1; |
|
184
|
920172 |
3612240 |
if (code - first < count) { |
|
208
|
106 |
15 |
if (fixed_tables_built) return; |
|
211
|
2160 |
15 |
for (i = 0; i <= 143; i++) lit_lengths[i] = 8; |
|
212
|
1680 |
15 |
for (i = 144; i <= 255; i++) lit_lengths[i] = 9; |
|
213
|
360 |
15 |
for (i = 256; i <= 279; i++) lit_lengths[i] = 7; |
|
214
|
120 |
15 |
for (i = 280; i <= 287; i++) lit_lengths[i] = 8; |
|
217
|
480 |
15 |
for (i = 0; i < 32; i++) dist_lengths[i] = 5; |
|
274
|
0 |
610866 |
if (sym < 0) return PDFMAKE_ECORRUPT; |
|
276
|
355316 |
255550 |
if (sym < 256) { |
|
278
|
0 |
355316 |
if (pdfmake_buf_append_byte(out, (uint8_t)sym) != PDFMAKE_OK) |
|
281
|
502 |
255048 |
else if (sym == 256) { |
|
288
|
0 |
255048 |
if (sym >= 29) return PDFMAKE_ECORRUPT; |
|
291
|
27338 |
227710 |
if (length_extra[sym] > 0) { |
|
293
|
0 |
27338 |
if (extra < 0) return PDFMAKE_ECORRUPT; |
|
298
|
255048 |
0 |
if (dist_sym < 0 || dist_sym >= 30) return PDFMAKE_ECORRUPT; |
|
|
0 |
255048 |
if (dist_sym < 0 || dist_sym >= 30) return PDFMAKE_ECORRUPT; |
|
301
|
245075 |
9973 |
if (dist_extra[dist_sym] > 0) { |
|
303
|
0 |
245075 |
if (extra < 0) return PDFMAKE_ECORRUPT; |
|
308
|
0 |
255048 |
if ((size_t)dist > out->len) return PDFMAKE_ECORRUPT; |
|
310
|
3328576 |
255048 |
for (i = 0; i < len; i++) { |
|
312
|
0 |
3328576 |
if (pdfmake_buf_append_byte(out, byte) != PDFMAKE_OK) |
|
325
|
57710 |
2613 |
while (count-- > 0 && n < target) lengths[n++] = val; |
|
|
57710 |
0 |
while (count-- > 0 && n < target) lengths[n++] = val; |
|
339
|
0 |
3 |
if (br->pos + 4 > br->len) return PDFMAKE_ECORRUPT; |
|
344
|
0 |
3 |
if (len != (uint16_t)~nlen) return PDFMAKE_ECORRUPT; |
|
345
|
0 |
3 |
if (br->pos + len > br->len) return PDFMAKE_ECORRUPT; |
|
347
|
0 |
3 |
if (pdfmake_buf_append(out, br->data + br->pos, len) != PDFMAKE_OK) |
|
373
|
360 |
0 |
if (hlit < 0 || hdist < 0 || hclen < 0) return PDFMAKE_ECORRUPT; |
|
|
360 |
0 |
if (hlit < 0 || hdist < 0 || hclen < 0) return PDFMAKE_ECORRUPT; |
|
|
0 |
360 |
if (hlit < 0 || hdist < 0 || hclen < 0) return PDFMAKE_ECORRUPT; |
|
380
|
5270 |
360 |
for (i = 0; i < hclen; i++) { |
|
382
|
0 |
5270 |
if (code_len < 0) return PDFMAKE_ECORRUPT; |
|
386
|
0 |
360 |
if (huffman_build(&cl_huff, cl_lengths, 19) < 0) return PDFMAKE_ECORRUPT; |
|
390
|
54258 |
360 |
while (n < hlit + hdist) { |
|
392
|
0 |
54258 |
if (sym < 0) return PDFMAKE_ECORRUPT; |
|
394
|
51645 |
2613 |
if (sym < 16) { |
|
396
|
1258 |
1355 |
} else if (sym == 16) { |
|
398
|
1258 |
0 |
if (extra < 0 || n == 0) return PDFMAKE_ECORRUPT; |
|
|
0 |
1258 |
if (extra < 0 || n == 0) return PDFMAKE_ECORRUPT; |
|
401
|
847 |
508 |
} else if (sym == 17) { |
|
403
|
0 |
847 |
if (extra < 0) return PDFMAKE_ECORRUPT; |
|
405
|
508 |
0 |
} else if (sym == 18) { |
|
407
|
0 |
508 |
if (extra < 0) return PDFMAKE_ECORRUPT; |
|
412
|
0 |
360 |
if (huffman_build(&dyn_lit_len, lengths, hlit) < 0) return PDFMAKE_ECORRUPT; |
|
413
|
0 |
360 |
if (huffman_build(&dyn_dist, lengths + hlit, hdist) < 0) return PDFMAKE_ECORRUPT; |
|
425
|
121 |
0 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
|
0 |
121 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
433
|
505 |
1 |
if (bfinal < 0 || btype < 0) return PDFMAKE_ECORRUPT; |
|
|
0 |
505 |
if (bfinal < 0 || btype < 0) return PDFMAKE_ECORRUPT; |
|
441
|
0 |
505 |
if (err != PDFMAKE_OK) return err; |
|
442
|
385 |
120 |
} while (!bfinal); |
|
469
|
824267 |
886834 |
while (bw->nbits >= 8) { |
|
470
|
0 |
824267 |
if (pdfmake_buf_append_byte(bw->out, bw->bits & 0xFF) != PDFMAKE_OK) |
|
481
|
14 |
17 |
if (bw->nbits > 0) { |
|
482
|
0 |
14 |
if (pdfmake_buf_append_byte(bw->out, bw->bits & 0xFF) != PDFMAKE_OK) |
|
495
|
20336 |
2544 |
for (i = 0; i < n; i++) { |
|
513
|
23 |
8 |
if (fixed_encode_tables_built) return; |
|
519
|
192 |
8 |
for (i = 256; i <= 279; i++) { |
|
526
|
1152 |
8 |
for (i = 0; i <= 143; i++) { |
|
533
|
64 |
8 |
for (i = 280; i <= 287; i++) { |
|
540
|
896 |
8 |
for (i = 144; i <= 255; i++) { |
|
546
|
240 |
8 |
for (i = 0; i < 30; i++) { |
|
558
|
712936 |
0 |
for (i = 0; i < 29; i++) { |
|
560
|
260274 |
452662 |
if (length <= max_len) return i; |
|
569
|
6085917 |
0 |
for (i = 0; i < 30; i++) { |
|
571
|
260274 |
5825643 |
if (dist <= max_dist) return i; |
|
613
|
57 |
1856995 |
if (pos + 2 >= lz->len) return; |
|
633
|
17 |
358316 |
if (pos + MIN_MATCH > lz->len) return 0; |
|
639
|
8836066 |
178970 |
while (match_pos >= 0 && chain_len < MAX_CHAIN) { |
|
|
8800919 |
35147 |
while (match_pos >= 0 && chain_len < MAX_CHAIN) { |
|
641
|
143505 |
8657414 |
if (dist > WINDOW_SIZE) break; |
|
642
|
0 |
8657414 |
if (dist <= 0) break; |
|
650
|
8655229 |
2185 |
if (max_len > MAX_MATCH) max_len = MAX_MATCH; |
|
652
|
53431818 |
2873 |
while ((size_t)len < max_len && a[len] == b[len]) len++; |
|
|
44777277 |
8654541 |
while ((size_t)len < max_len && a[len] == b[len]) len++; |
|
654
|
8649623 |
7791 |
if (len >= MIN_MATCH && len > *match_len) { |
|
|
443469 |
8206154 |
if (len >= MIN_MATCH && len > *match_len) { |
|
657
|
694 |
442775 |
if (len >= MAX_MATCH) break; |
|
677
|
0 |
32 |
if (!out) return PDFMAKE_EINVAL; |
|
678
|
1 |
31 |
if (in_len == 0) { |
|
688
|
2 |
29 |
if (level == 0) { |
|
695
|
2 |
2 |
while (pos < in_len) { |
|
697
|
0 |
2 |
if (block_len > 65535) block_len = 65535; |
|
730
|
358333 |
29 |
while (pos < in_len) { |
|
731
|
260274 |
98059 |
if (lz77_find_match(&lz, pos, &match_dist, &match_len)) { |
|
736
|
11934 |
248340 |
if (length_extra[len_code] > 0) { |
|
744
|
256202 |
4072 |
if (dist_extra[dist_code] > 0) { |
|
750
|
1758993 |
260274 |
for (i = 0; i < match_len; i++) { |
|
785
|
116 |
0 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
|
0 |
116 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
786
|
0 |
116 |
if (in_len < 6) return PDFMAKE_ECORRUPT; /* Min: 2 header + 4 Adler-32 */ |
|
793
|
0 |
116 |
if ((cmf * 256 + flg) % 31 != 0) return PDFMAKE_ECORRUPT; |
|
796
|
0 |
116 |
if ((cmf & 0x0F) != 8) return PDFMAKE_EUNSUPPORTED; |
|
802
|
0 |
116 |
if (flg & 0x20) return PDFMAKE_EUNSUPPORTED; |
|
806
|
0 |
116 |
if (pdfmake_buf_init(&raw) != PDFMAKE_OK) return PDFMAKE_ENOMEM; |
|
809
|
1 |
115 |
if (err != PDFMAKE_OK) { |
|
820
|
115 |
0 |
if (params && params->predictor > 1) { |
|
|
0 |
115 |
if (params && params->predictor > 1) { |
|
822
|
0 |
0 |
if (pdfmake_buf_init(&pred_out) != PDFMAKE_OK) { |
|
827
|
0 |
0 |
if (params->predictor == 2) { |
|
832
|
0 |
0 |
} else if (params->predictor >= 10 && params->predictor <= 15) { |
|
|
0 |
0 |
} else if (params->predictor >= 10 && params->predictor <= 15) { |
|
843
|
0 |
0 |
if (err != PDFMAKE_OK) { |
|
849
|
0 |
0 |
if (pdfmake_buf_append(out, pred_out.data, pred_out.len) != PDFMAKE_OK) { |
|
857
|
0 |
115 |
if (pdfmake_buf_append(out, raw.data, raw.len) != PDFMAKE_OK) { |
|
874
|
0 |
27 |
if (!out) return PDFMAKE_EINVAL; |
|
876
|
0 |
27 |
if (pdfmake_buf_init(&raw) != PDFMAKE_OK) return PDFMAKE_ENOMEM; |
|
879
|
27 |
0 |
if (params && params->predictor > 1) { |
|
|
15 |
12 |
if (params && params->predictor > 1) { |
|
880
|
0 |
15 |
if (params->predictor == 2) { |
|
885
|
15 |
0 |
} else if (params->predictor >= 10 && params->predictor <= 15) { |
|
|
15 |
0 |
} else if (params->predictor >= 10 && params->predictor <= 15) { |
|
896
|
0 |
15 |
if (err != PDFMAKE_OK) { |
|
903
|
0 |
12 |
if (pdfmake_buf_append(&raw, in, in_len) != PDFMAKE_OK) { |
|
916
|
0 |
27 |
if (err != PDFMAKE_OK) { |
|
944
|
1507812 |
470616 |
if (pa <= pb && pa <= pc) return a; |
|
|
1478397 |
29415 |
if (pa <= pb && pa <= pc) return a; |
|
945
|
459846 |
40185 |
if (pb <= pc) return b; |
|
962
|
22 |
0 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
|
0 |
22 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
971
|
0 |
22 |
if (in_len % in_row_size != 0) { |
|
973
|
0 |
0 |
if (predictor == 10) { |
|
983
|
0 |
22 |
if (!prev_row) return PDFMAKE_ENOMEM; |
|
987
|
0 |
22 |
if (!curr_row) { |
|
992
|
5142 |
22 |
for (r = 0; r < num_rows; r++) { |
|
998
|
1780128 |
5142 |
for (i = 0; i < row_bytes; i++) { |
|
1000
|
1774986 |
5142 |
uint8_t a = (i >= bpp) ? curr_row[i - bpp] : 0; |
|
1002
|
1774986 |
5142 |
uint8_t c = (i >= bpp) ? prev_row[i - bpp] : 0; |
|
1030
|
0 |
5142 |
if (pdfmake_buf_append(out, curr_row, row_bytes) != PDFMAKE_OK) { |
|
1058
|
22 |
0 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
|
0 |
22 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
1063
|
0 |
22 |
if (in_len % row_bytes != 0) return PDFMAKE_EINVAL; |
|
1069
|
0 |
22 |
if (!prev_row) return PDFMAKE_ENOMEM; |
|
1073
|
0 |
22 |
if (!filtered) { |
|
1078
|
5142 |
22 |
for (r = 0; r < num_rows; r++) { |
|
1082
|
5119 |
23 |
if (predictor == 15) { |
|
1087
|
25595 |
5119 |
for (f = 0; f <= 4; f++) { |
|
1089
|
8900180 |
25595 |
for (i = 0; i < row_bytes; i++) { |
|
1090
|
8874585 |
25595 |
uint8_t a = (i >= bpp) ? curr_row[i - bpp] : 0; |
|
1092
|
8874585 |
25595 |
uint8_t c = (i >= bpp) ? prev_row[i - bpp] : 0; |
|
1105
|
17141 |
8454 |
if (sum < best_sum) { |
|
1114
|
20 |
3 |
if (filter_type < 0 || filter_type > 4) filter_type = 0; |
|
|
0 |
20 |
if (filter_type < 0 || filter_type > 4) filter_type = 0; |
|
1118
|
1780128 |
5142 |
for (i = 0; i < row_bytes; i++) { |
|
1119
|
1774986 |
5142 |
uint8_t a = (i >= bpp) ? curr_row[i - bpp] : 0; |
|
1121
|
1774986 |
5142 |
uint8_t c = (i >= bpp) ? prev_row[i - bpp] : 0; |
|
1144
|
0 |
5142 |
if (pdfmake_buf_append(out, filtered, row_bytes) != PDFMAKE_OK) { |
|
1173
|
1 |
0 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
|
0 |
1 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
1176
|
0 |
1 |
if (bits_per_comp != 8) return PDFMAKE_EUNSUPPORTED; |
|
1179
|
0 |
1 |
if (in_len % row_bytes != 0) return PDFMAKE_EINVAL; |
|
1185
|
0 |
1 |
if (!row) return PDFMAKE_ENOMEM; |
|
1187
|
1 |
1 |
for (r = 0; r < num_rows; r++) { |
|
1191
|
1 |
1 |
for (c = 0; c < colors; c++) { |
|
1196
|
5 |
1 |
for (i = colors; i < row_bytes; i++) { |
|
1200
|
0 |
1 |
if (pdfmake_buf_append(out, row, row_bytes) != PDFMAKE_OK) { |
|
1220
|
1 |
0 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
|
0 |
1 |
if (!in || !out) return PDFMAKE_EINVAL; |
|
1223
|
0 |
1 |
if (bits_per_comp != 8) return PDFMAKE_EUNSUPPORTED; |
|
1226
|
0 |
1 |
if (in_len % row_bytes != 0) return PDFMAKE_EINVAL; |
|
1232
|
0 |
1 |
if (!row) return PDFMAKE_ENOMEM; |
|
1234
|
1 |
1 |
for (r = 0; r < num_rows; r++) { |
|
1238
|
1 |
1 |
for (c = 0; c < colors; c++) { |
|
1243
|
5 |
1 |
for (i = colors; i < row_bytes; i++) { |
|
1247
|
0 |
1 |
if (pdfmake_buf_append(out, row, row_bytes) != PDFMAKE_OK) { |
|
1268
|
0 |
0 |
if (!name || !out) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!name || !out) return PDFMAKE_EINVAL; |
|
1270
|
0 |
0 |
if (strcmp(name, "FlateDecode") == 0 || strcmp(name, "Fl") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "FlateDecode") == 0 || strcmp(name, "Fl") == 0) { |
|
1276
|
0 |
0 |
if (strcmp(name, "ASCIIHexDecode") == 0 || strcmp(name, "AHx") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "ASCIIHexDecode") == 0 || strcmp(name, "AHx") == 0) { |
|
1280
|
0 |
0 |
if (strcmp(name, "ASCII85Decode") == 0 || strcmp(name, "A85") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "ASCII85Decode") == 0 || strcmp(name, "A85") == 0) { |
|
1284
|
0 |
0 |
if (strcmp(name, "RunLengthDecode") == 0 || strcmp(name, "RL") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "RunLengthDecode") == 0 || strcmp(name, "RL") == 0) { |
|
1298
|
93 |
0 |
if (!name || !out) return PDFMAKE_EINVAL; |
|
|
0 |
93 |
if (!name || !out) return PDFMAKE_EINVAL; |
|
1300
|
0 |
93 |
if (strcmp(name, "FlateDecode") == 0 || strcmp(name, "Fl") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "FlateDecode") == 0 || strcmp(name, "Fl") == 0) { |
|
1306
|
0 |
0 |
if (strcmp(name, "ASCIIHexDecode") == 0 || strcmp(name, "AHx") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "ASCIIHexDecode") == 0 || strcmp(name, "AHx") == 0) { |
|
1310
|
0 |
0 |
if (strcmp(name, "ASCII85Decode") == 0 || strcmp(name, "A85") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "ASCII85Decode") == 0 || strcmp(name, "A85") == 0) { |
|
1314
|
0 |
0 |
if (strcmp(name, "LZWDecode") == 0 || strcmp(name, "LZW") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "LZWDecode") == 0 || strcmp(name, "LZW") == 0) { |
|
1320
|
0 |
0 |
if (strcmp(name, "RunLengthDecode") == 0 || strcmp(name, "RL") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "RunLengthDecode") == 0 || strcmp(name, "RL") == 0) { |
|
1325
|
0 |
0 |
if (strcmp(name, "CCITTFaxDecode") == 0 || strcmp(name, "CCF") == 0) { |
|
|
0 |
0 |
if (strcmp(name, "CCITTFaxDecode") == 0 || strcmp(name, "CCF") == 0) { |
|
1328
|
0 |
0 |
if (strcmp(name, "JBIG2Decode") == 0) { |
|
1331
|
0 |
0 |
if (strcmp(name, "JPXDecode") == 0) { |
|
1351
|
93 |
0 |
if (!arena || !filters || !out) return PDFMAKE_EINVAL; |
|
|
93 |
0 |
if (!arena || !filters || !out) return PDFMAKE_EINVAL; |
|
|
0 |
93 |
if (!arena || !filters || !out) return PDFMAKE_EINVAL; |
|
1354
|
93 |
0 |
if (filters->kind == PDFMAKE_NAME) { |
|
1361
|
0 |
0 |
if (filters->kind != PDFMAKE_ARRAY) return PDFMAKE_EINVAL; |
|
1364
|
0 |
0 |
if (n == 0) { |
|
1369
|
0 |
0 |
if (pdfmake_buf_init(&tmp1) != PDFMAKE_OK) return PDFMAKE_ENOMEM; |
|
1370
|
0 |
0 |
if (pdfmake_buf_init(&tmp2) != PDFMAKE_OK) { |
|
1379
|
0 |
0 |
for (i = n; i > 0; i--) { |
|
1383
|
0 |
0 |
if (!filter || filter->kind != PDFMAKE_NAME) { |
|
|
0 |
0 |
if (!filter || filter->kind != PDFMAKE_NAME) { |
|
1394
|
0 |
0 |
if (params && params->kind == PDFMAKE_ARRAY) { |
|
|
0 |
0 |
if (params && params->kind == PDFMAKE_ARRAY) { |
|
1396
|
0 |
0 |
} else if (params && n == 1) { |
|
|
0 |
0 |
} else if (params && n == 1) { |
|
1403
|
0 |
0 |
if (err != PDFMAKE_OK) { |
|
1412
|
0 |
0 |
current_out = (current_out == &tmp1) ? &tmp2 : &tmp1; |
|
1436
|
0 |
0 |
if (!arena || !filters || !out) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!arena || !filters || !out) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!arena || !filters || !out) return PDFMAKE_EINVAL; |
|
1439
|
0 |
0 |
if (filters->kind == PDFMAKE_NAME) { |
|
1446
|
0 |
0 |
if (filters->kind != PDFMAKE_ARRAY) return PDFMAKE_EINVAL; |
|
1449
|
0 |
0 |
if (n == 0) { |
|
1454
|
0 |
0 |
if (pdfmake_buf_init(&tmp1) != PDFMAKE_OK) return PDFMAKE_ENOMEM; |
|
1455
|
0 |
0 |
if (pdfmake_buf_init(&tmp2) != PDFMAKE_OK) { |
|
1464
|
0 |
0 |
for (i = 0; i < n; i++) { |
|
1468
|
0 |
0 |
if (!filter || filter->kind != PDFMAKE_NAME) { |
|
|
0 |
0 |
if (!filter || filter->kind != PDFMAKE_NAME) { |
|
1479
|
0 |
0 |
if (params && params->kind == PDFMAKE_ARRAY) { |
|
|
0 |
0 |
if (params && params->kind == PDFMAKE_ARRAY) { |
|
1481
|
0 |
0 |
} else if (params && n == 1) { |
|
|
0 |
0 |
} else if (params && n == 1) { |
|
1488
|
0 |
0 |
if (err != PDFMAKE_OK) { |
|
1497
|
0 |
0 |
current_out = (current_out == &tmp1) ? &tmp2 : &tmp1; |
|
1514
|
556 |
0 |
if (c >= '0' && c <= '9') return c - '0'; |
|
|
352 |
204 |
if (c >= '0' && c <= '9') return c - '0'; |
|
1515
|
204 |
0 |
if (c >= 'A' && c <= 'F') return c - 'A' + 10; |
|
|
201 |
3 |
if (c >= 'A' && c <= 'F') return c - 'A' + 10; |
|
1516
|
3 |
0 |
if (c >= 'a' && c <= 'f') return c - 'a' + 10; |
|
|
3 |
0 |
if (c >= 'a' && c <= 'f') return c - 'a' + 10; |
|
1528
|
0 |
8 |
if (!out) return PDFMAKE_EINVAL; |
|
1529
|
8 |
0 |
if (!in || in_len == 0) return PDFMAKE_OK; |
|
|
0 |
8 |
if (!in || in_len == 0) return PDFMAKE_OK; |
|
1533
|
567 |
1 |
for (i = 0; i < in_len; i++) { |
|
1537
|
7 |
560 |
if (c == '>') break; |
|
1540
|
558 |
2 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
|
558 |
0 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
|
556 |
2 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
|
556 |
0 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
|
0 |
556 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
1545
|
0 |
556 |
if (val < 0) return PDFMAKE_ECORRUPT; /* Invalid hex digit */ |
|
1547
|
279 |
277 |
if (high < 0) { |
|
1551
|
0 |
277 |
if (pdfmake_buf_append_byte(out, byte) != PDFMAKE_OK) { |
|
1559
|
2 |
6 |
if (high >= 0) { |
|
1561
|
0 |
2 |
if (pdfmake_buf_append_byte(out, byte) != PDFMAKE_OK) { |
|
1576
|
0 |
3 |
if (!out) return PDFMAKE_EINVAL; |
|
1578
|
261 |
3 |
for (i = 0; i < in_len; i++) { |
|
1609
|
0 |
15 |
if (!out) return PDFMAKE_EINVAL; |
|
1610
|
15 |
0 |
if (!in || in_len == 0) return PDFMAKE_OK; |
|
|
1 |
14 |
if (!in || in_len == 0) return PDFMAKE_OK; |
|
1615
|
795 |
0 |
for (i = 0; i < in_len; i++) { |
|
1619
|
14 |
781 |
if (c == '~') { |
|
1620
|
14 |
0 |
if (i + 1 < in_len && in[i + 1] == '>') break; |
|
|
14 |
0 |
if (i + 1 < in_len && in[i + 1] == '>') break; |
|
1626
|
769 |
12 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
|
769 |
0 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
|
757 |
12 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
|
757 |
0 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
|
0 |
757 |
if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f') { |
|
1631
|
1 |
756 |
if (c == 'z') { |
|
1632
|
0 |
1 |
if (group_len != 0) return PDFMAKE_ECORRUPT; |
|
1633
|
0 |
1 |
if (pdfmake_buf_append(out, zeros, 4) != PDFMAKE_OK) { |
|
1640
|
756 |
0 |
if (c < 33 || c > 117) return PDFMAKE_ECORRUPT; |
|
|
0 |
756 |
if (c < 33 || c > 117) return PDFMAKE_ECORRUPT; |
|
1644
|
145 |
611 |
if (group_len == 5) { |
|
1647
|
725 |
145 |
for (j = 0; j < 5; j++) { |
|
1656
|
0 |
145 |
if (pdfmake_buf_append(out, bytes, 4) != PDFMAKE_OK) { |
|
1664
|
10 |
4 |
if (group_len > 1) { |
|
1666
|
19 |
10 |
for (j = group_len; j < 5; j++) { |
|
1671
|
50 |
10 |
for (j = 0; j < 5; j++) { |
|
1681
|
0 |
10 |
if (pdfmake_buf_append(out, bytes, out_bytes) != PDFMAKE_OK) { |
|
1684
|
0 |
4 |
} else if (group_len == 1) { |
|
1700
|
0 |
12 |
if (!out) return PDFMAKE_EINVAL; |
|
1703
|
142 |
12 |
while (i + 4 <= in_len) { |
|
1710
|
1 |
141 |
if (val == 0) { |
|
1712
|
0 |
1 |
if (pdfmake_buf_append_byte(out, 'z') != PDFMAKE_OK) { |
|
1722
|
0 |
141 |
if (pdfmake_buf_append(out, chars, 5) != PDFMAKE_OK) { |
|
1731
|
9 |
3 |
if (remain > 0) { |
|
1733
|
18 |
9 |
for (j = 0; j < remain; j++) { |
|
1744
|
0 |
9 |
if (pdfmake_buf_append(out, chars, remain + 1) != PDFMAKE_OK) { |
|
1786
|
0 |
4 |
if (!out) return PDFMAKE_EINVAL; |
|
1787
|
4 |
0 |
if (!in || in_len == 0) return PDFMAKE_OK; |
|
|
0 |
4 |
if (!in || in_len == 0) return PDFMAKE_OK; |
|
1789
|
4 |
0 |
early_change = params ? params->early_change : 1; |
|
1793
|
0 |
4 |
if (!table) return PDFMAKE_ENOMEM; |
|
1797
|
0 |
4 |
if (!stack) { |
|
1803
|
1024 |
4 |
for (i = 0; i < 256; i++) { |
|
1845
|
1 |
20 |
READ_CODE(code); |
|
|
180 |
20 |
READ_CODE(code); |
|
1847
|
4 |
17 |
if (code == LZW_EOD_CODE) break; |
|
1849
|
4 |
13 |
if (code == LZW_CLEAR_CODE) { |
|
1858
|
3 |
10 |
if (prev_code < 0) { |
|
1859
|
0 |
3 |
if (code >= 256) { |
|
1864
|
3 |
3 |
OUTPUT_STRING(code); |
|
|
0 |
3 |
OUTPUT_STRING(code); |
|
|
3 |
3 |
OUTPUT_STRING(code); |
|
1869
|
8 |
2 |
if (code < next_code) { |
|
1871
|
14 |
8 |
OUTPUT_STRING(code); |
|
|
0 |
14 |
OUTPUT_STRING(code); |
|
|
14 |
8 |
OUTPUT_STRING(code); |
|
1874
|
6 |
8 |
while (table[c].prefix >= 0) c = table[c].prefix; |
|
1876
|
2 |
0 |
} else if (code == next_code) { |
|
1879
|
0 |
2 |
while (table[c].prefix >= 0) c = table[c].prefix; |
|
1882
|
2 |
2 |
OUTPUT_STRING(prev_code); |
|
|
0 |
2 |
OUTPUT_STRING(prev_code); |
|
|
2 |
2 |
OUTPUT_STRING(prev_code); |
|
1883
|
0 |
2 |
if (pdfmake_buf_append_byte(out, first_byte) != PDFMAKE_OK) { |
|
1896
|
10 |
0 |
if (next_code <= LZW_MAX_CODE) { |
|
1903
|
10 |
0 |
if (early_change) { |
|
1905
|
0 |
10 |
if (next_code == (1 << code_bits) && code_bits < 12) { |
|
|
0 |
0 |
if (next_code == (1 << code_bits) && code_bits < 12) { |
|
1910
|
0 |
0 |
if (next_code == (1 << code_bits) + 1 && code_bits < 12) { |
|
|
0 |
0 |
if (next_code == (1 << code_bits) + 1 && code_bits < 12) { |
|
1926
|
4 |
0 |
if (params && params->predictor > 1) { |
|
|
0 |
4 |
if (params && params->predictor > 1) { |
|
1927
|
0 |
0 |
if (pdfmake_buf_init(&decoded_pred) != PDFMAKE_OK) { |
|
1931
|
0 |
0 |
if (params->predictor == 2) { |
|
1935
|
0 |
0 |
} else if (params->predictor >= 10 && params->predictor <= 15) { |
|
|
0 |
0 |
} else if (params->predictor >= 10 && params->predictor <= 15) { |
|
1944
|
0 |
0 |
if (err != PDFMAKE_OK) { |
|
1969
|
0 |
13 |
if (!out) return PDFMAKE_EINVAL; |
|
1970
|
13 |
0 |
if (!in || in_len == 0) return PDFMAKE_OK; |
|
|
1 |
12 |
if (!in || in_len == 0) return PDFMAKE_OK; |
|
1973
|
33 |
1 |
while (i < in_len) { |
|
1976
|
11 |
22 |
if (len_byte == 128) { |
|
1979
|
14 |
8 |
} else if (len_byte <= 127) { |
|
1982
|
0 |
14 |
if (i + count > in_len) return PDFMAKE_ECORRUPT; |
|
1983
|
0 |
14 |
if (pdfmake_buf_append(out, in + i, count) != PDFMAKE_OK) { |
|
1990
|
0 |
8 |
if (i >= in_len) return PDFMAKE_ECORRUPT; |
|
1992
|
638 |
8 |
for (j = 0; j < count; j++) { |
|
1993
|
0 |
638 |
if (pdfmake_buf_append_byte(out, byte) != PDFMAKE_OK) { |
|
2011
|
0 |
6 |
if (!out) return PDFMAKE_EINVAL; |
|
2012
|
6 |
0 |
if (!in || in_len == 0) { |
|
|
1 |
5 |
if (!in || in_len == 0) { |
|
2018
|
17 |
5 |
while (i < in_len) { |
|
2021
|
516 |
3 |
while (i + run_len < in_len && in[i + run_len] == in[i] && run_len < 128) { |
|
|
505 |
11 |
while (i + run_len < in_len && in[i + run_len] == in[i] && run_len < 128) { |
|
|
502 |
3 |
while (i + run_len < in_len && in[i + run_len] == in[i] && run_len < 128) { |
|
2025
|
6 |
11 |
if (run_len >= 3) { |
|
2038
|
1077 |
4 |
while (i < in_len && lit_len < 128) { |
|
|
1070 |
7 |
while (i < in_len && lit_len < 128) { |
|
2040
|
1063 |
7 |
if (i + 2 < in_len && in[i] == in[i+1] && in[i] == in[i+2]) { |
|
|
0 |
1063 |
if (i + 2 < in_len && in[i] == in[i+1] && in[i] == in[i+2]) { |
|
|
0 |
0 |
if (i + 2 < in_len && in[i] == in[i+1] && in[i] == in[i+2]) { |
|
2047
|
11 |
0 |
if (lit_len > 0) { |