Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: pcre2_fuzzer_16_3l

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1158 24.9%
gold [1:9] 22 0.47%
yellow [10:29] 16 0.34%
greenyellow [30:49] 10 0.21%
lawngreen 50+ 3440 74.0%
All colors 4646 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
88 4392 jit_compile call site: 04392 do_utfreadnewline_invalid
54 3782 sljit_emit_return call site: 03782 sljit_emit_op1
50 792 sljit_emit_simd_lane_mov call site: 00792 emit_mov
38 857 fast_forward_char_pair_simd call site: 00857 emit_vex_instruction
36 1129 fast_forward_newline call site: 01129 fast_forward_char_pair_simd
32 1504 compile_simple_assertion_matchingpath call site: 01504 read_char
32 2861 compile_bracket_matchingpath call site: 02861 allocate_stack
30 1468 compile_simple_assertion_matchingpath call site: 01468 check_partial
22 1194 fast_forward_newline call site: 01194 read_char
21 491 sljit_emit_op1 call site: 00491 emit_clz_ctz
21 1708 check_str_end call site: 01708 sljit_emit_cmp
20 2533 compile_ref_matchingpath call site: 02533 sljit_emit_cmp

Runtime coverage analysis

Covered functions
334
Functions that are reachable but not covered
46
Reachable functions
363
Percentage of reachable functions covered
87.33%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 21
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 6
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 119
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 7
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 9
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzzer: pcre2_fuzzer_32_4l

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1071 24.2%
gold [1:9] 18 0.40%
yellow [10:29] 9 0.20%
greenyellow [30:49] 1 0.02%
lawngreen 50+ 3313 75.0%
All colors 4412 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
54 3628 sljit_emit_return call site: 03628 sljit_emit_op1
50 752 sljit_emit_simd_lane_mov call site: 00752 emit_mov
38 817 fast_forward_char_pair_simd call site: 00817 emit_vex_instruction
36 1056 fast_forward_newline call site: 01056 fast_forward_char_pair_simd
32 1424 compile_simple_assertion_matchingpath call site: 01424 read_char
32 2707 compile_bracket_matchingpath call site: 02707 allocate_stack
30 1388 compile_simple_assertion_matchingpath call site: 01388 check_partial
22 1114 fast_forward_newline call site: 01114 read_char
21 490 sljit_emit_op1 call site: 00490 emit_clz_ctz
21 1593 check_str_end call site: 01593 sljit_emit_cmp
20 996 fast_forward_first_char2 call site: 00996 sljit_emit_cmp
20 2379 compile_ref_matchingpath call site: 02379 sljit_emit_cmp

Runtime coverage analysis

Covered functions
332
Functions that are reachable but not covered
41
Reachable functions
356
Percentage of reachable functions covered
88.48%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 21
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 6
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 114
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 6
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 8
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzzer: pcre2_fuzzer_32_3l

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1049 23.7%
gold [1:9] 17 0.38%
yellow [10:29] 9 0.20%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3337 75.6%
All colors 4412 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
54 3628 sljit_emit_return call site: 03628 sljit_emit_op1
50 752 sljit_emit_simd_lane_mov call site: 00752 emit_mov
38 817 fast_forward_char_pair_simd call site: 00817 emit_vex_instruction
36 1056 fast_forward_newline call site: 01056 fast_forward_char_pair_simd
32 1424 compile_simple_assertion_matchingpath call site: 01424 read_char
32 2707 compile_bracket_matchingpath call site: 02707 allocate_stack
30 1388 compile_simple_assertion_matchingpath call site: 01388 check_partial
22 1114 fast_forward_newline call site: 01114 read_char
21 490 sljit_emit_op1 call site: 00490 emit_clz_ctz
21 1593 check_str_end call site: 01593 sljit_emit_cmp
20 996 fast_forward_first_char2 call site: 00996 sljit_emit_cmp
20 2379 compile_ref_matchingpath call site: 02379 sljit_emit_cmp

Runtime coverage analysis

Covered functions
332
Functions that are reachable but not covered
41
Reachable functions
356
Percentage of reachable functions covered
88.48%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 21
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 6
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 114
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 6
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 8
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzzer: pcre2_fuzzer_16

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1155 24.8%
gold [1:9] 12 0.25%
yellow [10:29] 26 0.55%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3453 74.3%
All colors 4646 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
88 4392 jit_compile call site: 04392 do_utfreadnewline_invalid
54 3782 sljit_emit_return call site: 03782 sljit_emit_op1
50 792 sljit_emit_simd_lane_mov call site: 00792 emit_mov
38 857 fast_forward_char_pair_simd call site: 00857 emit_vex_instruction
36 1129 fast_forward_newline call site: 01129 fast_forward_char_pair_simd
32 1504 compile_simple_assertion_matchingpath call site: 01504 read_char
32 2861 compile_bracket_matchingpath call site: 02861 allocate_stack
30 1468 compile_simple_assertion_matchingpath call site: 01468 check_partial
22 1194 fast_forward_newline call site: 01194 read_char
21 491 sljit_emit_op1 call site: 00491 emit_clz_ctz
21 1708 check_str_end call site: 01708 sljit_emit_cmp
20 2533 compile_ref_matchingpath call site: 02533 sljit_emit_cmp

Runtime coverage analysis

Covered functions
335
Functions that are reachable but not covered
45
Reachable functions
363
Percentage of reachable functions covered
87.6%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 21
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 6
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 119
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 7
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 9
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzzer: pcre2_fuzzer_32

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1087 24.6%
gold [1:9] 19 0.43%
yellow [10:29] 8 0.18%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3298 74.7%
All colors 4412 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
54 3628 sljit_emit_return call site: 03628 sljit_emit_op1
50 752 sljit_emit_simd_lane_mov call site: 00752 emit_mov
38 817 fast_forward_char_pair_simd call site: 00817 emit_vex_instruction
36 1056 fast_forward_newline call site: 01056 fast_forward_char_pair_simd
32 1424 compile_simple_assertion_matchingpath call site: 01424 read_char
32 2707 compile_bracket_matchingpath call site: 02707 allocate_stack
30 1388 compile_simple_assertion_matchingpath call site: 01388 check_partial
28 1812 compile_xclass_matchingpath call site: 01812 sljit_emit_cmp
22 1114 fast_forward_newline call site: 01114 read_char
21 490 sljit_emit_op1 call site: 00490 emit_clz_ctz
21 1593 check_str_end call site: 01593 sljit_emit_cmp
20 996 fast_forward_first_char2 call site: 00996 sljit_emit_cmp

Runtime coverage analysis

Covered functions
329
Functions that are reachable but not covered
44
Reachable functions
356
Percentage of reachable functions covered
87.64%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 21
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 6
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 114
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 6
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 8
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzzer: pcre2_fuzzer_16_4l

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1155 24.8%
gold [1:9] 13 0.27%
yellow [10:29] 25 0.53%
greenyellow [30:49] 1 0.02%
lawngreen 50+ 3452 74.3%
All colors 4646 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
88 4392 jit_compile call site: 04392 do_utfreadnewline_invalid
54 3782 sljit_emit_return call site: 03782 sljit_emit_op1
50 792 sljit_emit_simd_lane_mov call site: 00792 emit_mov
38 857 fast_forward_char_pair_simd call site: 00857 emit_vex_instruction
36 1129 fast_forward_newline call site: 01129 fast_forward_char_pair_simd
32 1504 compile_simple_assertion_matchingpath call site: 01504 read_char
32 2861 compile_bracket_matchingpath call site: 02861 allocate_stack
30 1468 compile_simple_assertion_matchingpath call site: 01468 check_partial
22 1194 fast_forward_newline call site: 01194 read_char
21 491 sljit_emit_op1 call site: 00491 emit_clz_ctz
21 1708 check_str_end call site: 01708 sljit_emit_cmp
20 2533 compile_ref_matchingpath call site: 02533 sljit_emit_cmp

Runtime coverage analysis

Covered functions
335
Functions that are reachable but not covered
45
Reachable functions
363
Percentage of reachable functions covered
87.6%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 21
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 6
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 119
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 7
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 9
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzzer: pcre2_fuzzer_3l

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1314 26.2%
gold [1:9] 17 0.33%
yellow [10:29] 11 0.21%
greenyellow [30:49] 13 0.25%
lawngreen 50+ 3651 72.9%
All colors 5006 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
291 4537 do_utfpeakcharback call site: 04537 do_utfreadnewline_invalid
54 3849 sljit_emit_return call site: 03849 sljit_emit_op1
50 835 sljit_emit_simd_lane_mov call site: 00835 emit_mov
38 900 fast_forward_char_pair_simd call site: 00900 emit_vex_instruction
34 1172 fast_forward_newline call site: 01172 fast_forward_char_pair_simd
33 1703 read_char8_type call site: 01703 sljit_emit_cmp
32 1542 compile_simple_assertion_matchingpath call site: 01542 read_char
30 1506 compile_simple_assertion_matchingpath call site: 01506 check_partial
25 4484 do_utfreadchar call site: 04484 do_utfreadtype8
21 508 sljit_emit_op1 call site: 00508 emit_clz_ctz
21 1235 fast_forward_newline call site: 01235 read_char
21 1762 check_str_end call site: 01762 sljit_emit_cmp

Runtime coverage analysis

Covered functions
343
Functions that are reachable but not covered
46
Reachable functions
372
Percentage of reachable functions covered
87.63%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 23
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 7
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 124
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 7
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 9
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzzer: pcre2_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1178 23.5%
gold [1:9] 13 0.25%
yellow [10:29] 11 0.21%
greenyellow [30:49] 15 0.29%
lawngreen 50+ 3789 75.6%
All colors 5006 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
291 4537 do_utfpeakcharback call site: 04537 do_utfreadnewline_invalid
54 3849 sljit_emit_return call site: 03849 sljit_emit_op1
50 835 sljit_emit_simd_lane_mov call site: 00835 emit_mov
38 900 fast_forward_char_pair_simd call site: 00900 emit_vex_instruction
33 1703 read_char8_type call site: 01703 sljit_emit_cmp
25 4484 do_utfreadchar call site: 04484 do_utfreadtype8
21 508 sljit_emit_op1 call site: 00508 emit_clz_ctz
21 1182 fast_forward_newline call site: 01182 sljit_emit_cmp
21 1510 compile_simple_assertion_matchingpath call site: 01510 check_partial
20 2602 compile_ref_matchingpath call site: 02602 sljit_emit_cmp
18 1102 fast_forward_first_char2 call site: 01102 jumpto_if_not_utf_char_start
18 2654 compile_ref_matchingpath call site: 02654 check_partial

Runtime coverage analysis

Covered functions
345
Functions that are reachable but not covered
44
Reachable functions
372
Percentage of reachable functions covered
88.17%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 23
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 7
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 124
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 7
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 9
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzzer: pcre2_fuzzer_4l

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1178 23.5%
gold [1:9] 11 0.21%
yellow [10:29] 25 0.49%
greenyellow [30:49] 5 0.09%
lawngreen 50+ 3787 75.6%
All colors 5006 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
291 4537 do_utfpeakcharback call site: 04537 do_utfreadnewline_invalid
54 3849 sljit_emit_return call site: 03849 sljit_emit_op1
50 835 sljit_emit_simd_lane_mov call site: 00835 emit_mov
38 900 fast_forward_char_pair_simd call site: 00900 emit_vex_instruction
33 1703 read_char8_type call site: 01703 sljit_emit_cmp
25 4484 do_utfreadchar call site: 04484 do_utfreadtype8
21 508 sljit_emit_op1 call site: 00508 emit_clz_ctz
21 1182 fast_forward_newline call site: 01182 sljit_emit_cmp
21 1510 compile_simple_assertion_matchingpath call site: 01510 check_partial
20 2602 compile_ref_matchingpath call site: 02602 sljit_emit_cmp
18 1102 fast_forward_first_char2 call site: 01102 jumpto_if_not_utf_char_start
18 2654 compile_ref_matchingpath call site: 02654 check_partial

Runtime coverage analysis

Covered functions
345
Functions that are reachable but not covered
44
Reachable functions
372
Percentage of reachable functions covered
88.17%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
pcre2_fuzzsupport.c 2
pcre2_context.c 9
pcre2_compile.c 26
pcre2_string_utils.c 5
pcre2_valid_utf.c 1
pcre2_newline.c 2
pcre2_compile_cgroup.c 8
pcre2_compile_class.c 23
pcre2_ord2utf.c 1
pcre2_chkdint.c 1
pcre2_find_bracket.c 1
pcre2_auto_possess.c 5
pcre2_xclass.c 2
pcre2_study.c 7
pcre2_jit_misc_inc.h 2
../deps/sljit/sljit_src/sljitLir.c 21
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c 4
../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c 2
pcre2_jit_compile.c 124
../deps/sljit/sljit_src/sljitNativeX86_common.c 63
../deps/sljit/sljit_src/sljitNativeX86_64.c 18
pcre2_jit_simd_inc.h 7
../deps/sljit/sljit_src/sljitLir.h 2
pcre2_jit_char_inc.h 9
../deps/sljit/sljit_src/sljitUtils.c 2
pcre2_match_data.c 2
pcre2_match.c 5
pcre2_jit_match_inc.h 2
pcre2_extuni.c 1
pcre2_script_run.c 1
pcre2_dfa_match.c 4

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['jit_compile', 'sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'fast_forward_newline', 'compile_simple_assertion_matchingpath', 'compile_bracket_matchingpath', 'sljit_emit_op1']

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'fast_forward_newline', 'compile_simple_assertion_matchingpath', 'compile_bracket_matchingpath', 'sljit_emit_op1', 'check_str_end']

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'fast_forward_newline', 'compile_simple_assertion_matchingpath', 'compile_bracket_matchingpath', 'sljit_emit_op1', 'check_str_end']

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['jit_compile', 'sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'fast_forward_newline', 'compile_simple_assertion_matchingpath', 'compile_bracket_matchingpath', 'sljit_emit_op1']

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'fast_forward_newline', 'compile_simple_assertion_matchingpath', 'compile_bracket_matchingpath', 'compile_xclass_matchingpath', 'sljit_emit_op1']

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['jit_compile', 'sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'fast_forward_newline', 'compile_simple_assertion_matchingpath', 'compile_bracket_matchingpath', 'sljit_emit_op1']

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['do_utfpeakcharback', 'sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'fast_forward_newline', 'read_char8_type', 'compile_simple_assertion_matchingpath', 'do_utfreadchar', 'sljit_emit_op1']

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['do_utfpeakcharback', 'sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'read_char8_type', 'do_utfreadchar', 'sljit_emit_op1', 'fast_forward_newline', 'compile_simple_assertion_matchingpath', 'compile_ref_matchingpath']

pcre2_fuzzsupport.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['do_utfpeakcharback', 'sljit_emit_return', 'sljit_emit_simd_lane_mov', 'fast_forward_char_pair_simd', 'read_char8_type', 'do_utfreadchar', 'sljit_emit_op1', 'fast_forward_newline', 'compile_simple_assertion_matchingpath', 'compile_ref_matchingpath']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
sljit_emit_cmp 51 17 33.33% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_emit_select 40 18 45.0% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_emit_op1 103 53 51.45% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
emit_mov_byte 33 15 45.45% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
emit_mov_half 31 14 45.16% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
emit_cum_binary 87 37 42.52% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
emit_shift 84 35 41.66% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_has_cpu_feature 43 12 27.90% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_emit_simd_lane_mov 248 38 15.32% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_emit_simd_lane_replicate 189 32 16.93% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_emit_simd_op2 73 29 39.72% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_emit_simd_sign 76 32 42.10% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_emit_op2_shift 79 43 54.43% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
sljit_emit_op0 91 14 15.38% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
emit_test_binary 79 26 32.91% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
_pcre2_extuni_16 39 20 51.28% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_16']
pcre2_jit_compile_16 70 38 54.28% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_16']
fast_forward_first_char2 53 29 54.71% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
do_casefulcmp 69 34 49.27% ['pcre2_fuzzer_16_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_32_3l']
_pcre2_extuni_32 39 20 51.28% ['pcre2_fuzzer_32', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l']
pcre2_jit_compile_32 70 38 54.28% ['pcre2_fuzzer_32', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l']
pcre2_jit_compile_8 70 38 54.28% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_3l']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] []
/src/pcre2/src/pcre2_compile.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_chkdint.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_ord2utf.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_xclass.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_match.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/../deps/sljit/sljit_src/sljitUtils.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] []
/src/pcre2/src/pcre2_script_run.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_compile_cgroup.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_fuzzsupport.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorPosix.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] []
/src/pcre2/src/pcre2_jit_simd_inc.h ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_match_data.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_context.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_study.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_find_bracket.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_valid_utf.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_string_utils.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_newline.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/../deps/sljit/sljit_src/sljitLir.h ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] []
/src/pcre2/src/pcre2_dfa_match.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_jit_misc_inc.h ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_jit_match_inc.h ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] []
/src/pcre2/src/pcre2_auto_possess.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] []
/src/pcre2/src/pcre2_compile_class.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_extuni.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/../deps/sljit/sljit_src/allocator_src/sljitExecAllocatorCore.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] []
/src/pcre2/src/pcre2_jit_compile.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/pcre2_jit_char_inc.h ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']
/src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32', 'pcre2_fuzzer_16_4l', 'pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l'] []

Directories in report

Directory
/src/pcre2/src/
/src/pcre2/src/../deps/sljit/sljit_src/
/src/pcre2/src/../deps/sljit/sljit_src/allocator_src/