Branch Coverage

src/pdfmake_font_cff.c
Criterion Covered Total %
branch 0 290 0.0


line true false branch
97 0 0 if (p + 2 > end) return -1;
102 0 0 if (idx->count == 0) {
109 0 0 if (p >= end) return -1;
112 0 0 if (idx->off_size < 1 || idx->off_size > 4) return -1;
0 0 if (idx->off_size < 1 || idx->off_size > 4) return -1;
115 0 0 if (p + offsets_size > end) return -1;
126 0 0 for (i = 0; i < idx->off_size; i++) {
139 0 0 if (!idx || i > idx->count) return 0;
0 0 if (!idx || i > idx->count) return 0;
144 0 0 for (j = 0; j < idx->off_size; j++) {
157 0 0 if (!idx || i >= idx->count) return NULL;
0 0 if (!idx || i >= idx->count) return NULL;
162 0 0 if (out_len) *out_len = end - start;
185 0 0 if (*pp >= end) return -1;
189 0 0 if (b0 == 30) {
201 0 0 while (*pp < end && !done) {
0 0 while (*pp < end && !done) {
203 0 0 for (n = 0; n < 2 && !done; n++) {
0 0 for (n = 0; n < 2 && !done; n++) {
204 0 0 int nibble = (n == 0) ? (byte >> 4) : (byte & 0xF);
209 0 0 if (in_frac) {
234 0 0 for (i = 0; i < frac_digits; i++) {
237 0 0 if (negative) rval = -rval;
238 0 0 if (exp_negative) exp = -exp;
248 0 0 if (b0 >= 32 && b0 <= 246) {
0 0 if (b0 >= 32 && b0 <= 246) {
250 0 0 } else if (b0 >= 247 && b0 <= 250) {
0 0 } else if (b0 >= 247 && b0 <= 250) {
251 0 0 if (*pp >= end) return -1;
253 0 0 } else if (b0 >= 251 && b0 <= 254) {
0 0 } else if (b0 >= 251 && b0 <= 254) {
254 0 0 if (*pp >= end) return -1;
256 0 0 } else if (b0 == 28) {
257 0 0 if (*pp + 2 > end) return -1;
260 0 0 } else if (b0 == 29) {
261 0 0 if (*pp + 4 > end) return -1;
309 0 0 if (st->sp < T2_STACK_MAX) {
316 0 0 return (st->sp > 0) ? st->stack[--st->sp] : 0;
324 0 0 if (st->sp < 2) return;
338 0 0 while (st->sp >= 2) {
348 0 0 for (i = 2; i < st->sp; i++) {
358 0 0 while (st->sp >= 6) {
379 0 0 for (i = 6; i < st->sp; i++) {
397 0 0 while (p < end) {
401 0 0 if (op >= 32) {
403 0 0 if (op >= 32 && op <= 246) {
0 0 if (op >= 32 && op <= 246) {
405 0 0 } else if (op >= 247 && op <= 250) {
0 0 } else if (op >= 247 && op <= 250) {
406 0 0 if (p >= end) return -1;
408 0 0 } else if (op >= 251 && op <= 254) {
0 0 } else if (op >= 251 && op <= 254) {
409 0 0 if (p >= end) return -1;
411 0 0 } else if (op == 255) {
412 0 0 if (p + 4 > end) return -1;
417 0 0 } else if (op == 28) {
418 0 0 if (p + 2 > end) return -1;
433 0 0 if (!st->width_parsed && (st->sp & 1)) {
0 0 if (!st->width_parsed && (st->sp & 1)) {
435 0 0 for (i = 1; i < st->sp; i++) {
446 0 0 if (!st->width_parsed && st->sp > 1) {
0 0 if (!st->width_parsed && st->sp > 1) {
463 0 0 while (st->sp > 0) {
466 0 0 if (st->sp > 0) {
474 0 0 while (st->sp > 0) {
477 0 0 if (st->sp > 0) {
489 0 0 if (st->sp < 1 || st->depth >= T2_TRANS_MAX) break;
0 0 if (st->sp < 1 || st->depth >= T2_TRANS_MAX) break;
493 0 0 if (subr) {
505 0 0 if (!st->width_parsed && st->sp > 0) {
0 0 if (!st->width_parsed && st->sp > 0) {
512 0 0 if (!st->width_parsed && (st->sp & 1)) {
0 0 if (!st->width_parsed && (st->sp & 1)) {
524 0 0 if (!st->width_parsed && st->sp > 2) {
0 0 if (!st->width_parsed && st->sp > 2) {
536 0 0 if (!st->width_parsed && st->sp > 1) {
0 0 if (!st->width_parsed && st->sp > 1) {
548 0 0 while (st->sp >= 8) {
555 0 0 while (st->sp >= 8) {
562 0 0 if (st->sp & 1) {
564 0 0 for (i = 1; i < st->sp; i++) {
569 0 0 while (st->sp >= 4) {
586 0 0 for (i = 4; i < st->sp; i++) {
594 0 0 if (st->sp & 1) {
596 0 0 for (i = 1; i < st->sp; i++) {
601 0 0 while (st->sp >= 4) {
618 0 0 for (i = 4; i < st->sp; i++) {
626 0 0 if (st->sp < 1 || st->depth >= T2_TRANS_MAX) break;
0 0 if (st->sp < 1 || st->depth >= T2_TRANS_MAX) break;
630 0 0 if (subr) {
643 0 0 while (st->sp >= 4) {
648 0 0 double d5 = (st->sp == 5) ? st->stack[4] : 0;
652 0 0 if (start_v) {
672 0 0 consumed = (st->sp == 5) ? 5 : 4;
673 0 0 for (i = consumed; i < st->sp; i++) {
683 0 0 if (p >= end) return -1;
703 0 0 if (count < 1240) return 107;
704 0 0 if (count < 33900) return 1131;
730 0 0 if (len < 4) return -1;
738 0 0 if (font->major != 1) return -1; /* Only CFF version 1 */
745 0 0 if (size < 0) return -1;
750 0 0 if (size < 0) return -1;
755 0 0 if (size < 0) return -1;
760 0 0 if (size < 0) return -1;
766 0 0 if (!dict) return -1;
781 0 0 while (dp < dict_end) {
784 0 0 if (b >= 32 || b == 28 || b == 29 || b == 30) {
0 0 if (b >= 32 || b == 28 || b == 29 || b == 30) {
0 0 if (b >= 32 || b == 28 || b == 29 || b == 30) {
0 0 if (b >= 32 || b == 28 || b == 29 || b == 30) {
786 0 0 if (num_operands < 48) {
787 0 0 if (parse_cff_dict_operand(&dp, dict_end,
796 0 0 if (b == 12 && dp < dict_end) {
0 0 if (b == 12 && dp < dict_end) {
800 0 0 if (b2 == 7 && num_operands >= 6) {
0 0 if (b2 == 7 && num_operands >= 6) {
802 0 0 for (i = 0; i < 6; i++) {
804 0 0 operands[i].val.f : operands[i].val.i;
810 0 0 if (num_operands > 0) {
815 0 0 if (num_operands > 0) {
820 0 0 if (num_operands > 0) {
825 0 0 if (num_operands >= 2) {
837 0 0 if (font->charstrings_offset > 0) {
843 0 0 if (font->private_offset > 0 && font->private_size > 0) {
0 0 if (font->private_offset > 0 && font->private_size > 0) {
848 0 0 while (priv < priv_end) {
851 0 0 if (b >= 32 || b == 28 || b == 29 || b == 30) {
0 0 if (b >= 32 || b == 28 || b == 29 || b == 30) {
0 0 if (b >= 32 || b == 28 || b == 29 || b == 30) {
0 0 if (b >= 32 || b == 28 || b == 29 || b == 30) {
852 0 0 if (num_operands < 48) {
859 0 0 if (b == 19 && num_operands > 0) {
0 0 if (b == 19 && num_operands > 0) {
865 0 0 } else if (b == 20 && num_operands > 0) {
0 0 } else if (b == 20 && num_operands > 0) {
868 0 0 } else if (b == 21 && num_operands > 0) {
0 0 } else if (b == 21 && num_operands > 0) {
898 0 0 if (!outline || !cff_data || !arena) {
0 0 if (!outline || !cff_data || !arena) {
0 0 if (!outline || !cff_data || !arena) {
903 0 0 if (parse_cff_font(cff_data, cff_len, &font) < 0) {
908 0 0 if (glyph_id >= font.charstrings_index.count) {
913 0 0 if (!cs) {
919 0 0 if (!path) {
930 0 0 if (t2_execute(&st, cs, cs_len) < 0) {