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_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 1036 23.5%
gold [1:9] 17 0.38%
yellow [10:29] 9 0.20%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3339 75.8%
All colors 4401 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
585 585 1 :

['return_with_partial_match']

585 25618 jit_compile call site: 03678 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00468 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00890 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03613 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00627 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00899 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00851 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00746 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00861 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00889 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00827 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516
93 93 1 :

['emit_groupf_ext']

93 93 sljit_emit_simd_op2 call site: 00894 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4932

Runtime coverage analysis

Covered functions
331
Functions that are reachable but not covered
41
Reachable functions
355
Percentage of reachable functions covered
88.45%
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 62
../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_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 1066 24.2%
gold [1:9] 18 0.40%
yellow [10:29] 10 0.22%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3307 75.1%
All colors 4401 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
585 585 1 :

['return_with_partial_match']

585 25618 jit_compile call site: 03678 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00468 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00890 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03613 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00627 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00899 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00851 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00746 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00861 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00889 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00827 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516
93 93 1 :

['emit_groupf_ext']

93 93 sljit_emit_simd_op2 call site: 00894 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4932

Runtime coverage analysis

Covered functions
330
Functions that are reachable but not covered
42
Reachable functions
355
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 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 62
../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_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 1145 24.7%
gold [1:9] 11 0.23%
yellow [10:29] 25 0.53%
greenyellow [30:49] 5 0.10%
lawngreen 50+ 3448 74.4%
All colors 4634 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
810 1585 14 :

['_pcre2_compile_get_hash_from_name32', 'get_ucp', '_pcre2_strncmp_32', 'handle_escdsw', 'check_posix_name', '_pcre2_is_newline_32', 'parse_capture_list', 'read_number', 'read_repeat_counts', 'check_posix_syntax', '_pcre2_check_escape_32', 'manage_callouts', '_pcre2_strncmp_c8_32', 'read_name']

810 1585 parse_regex call site: 00026 /src/pcre2/src/pcre2_compile.c:3562
585 585 1 :

['return_with_partial_match']

605 25618 jit_compile call site: 03831 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00469 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00931 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03766 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00644 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00940 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00891 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00786 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00902 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00930 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00867 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516

Runtime coverage analysis

Covered functions
333
Functions that are reachable but not covered
46
Reachable functions
362
Percentage of reachable functions covered
87.29%
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 62
../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 1074 24.4%
gold [1:9] 19 0.43%
yellow [10:29] 8 0.18%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3300 74.9%
All colors 4401 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
585 585 1 :

['return_with_partial_match']

585 25618 jit_compile call site: 03678 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00468 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00890 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03613 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00627 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00899 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00851 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00746 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00861 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00889 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00827 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516
93 93 1 :

['emit_groupf_ext']

93 93 sljit_emit_simd_op2 call site: 00894 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4932

Runtime coverage analysis

Covered functions
328
Functions that are reachable but not covered
44
Reachable functions
355
Percentage of reachable functions covered
87.61%
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 62
../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 1145 24.7%
gold [1:9] 11 0.23%
yellow [10:29] 28 0.60%
greenyellow [30:49] 1 0.02%
lawngreen 50+ 3449 74.4%
All colors 4634 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
810 1585 14 :

['_pcre2_compile_get_hash_from_name32', 'get_ucp', '_pcre2_strncmp_32', 'handle_escdsw', 'check_posix_name', '_pcre2_is_newline_32', 'parse_capture_list', 'read_number', 'read_repeat_counts', 'check_posix_syntax', '_pcre2_check_escape_32', 'manage_callouts', '_pcre2_strncmp_c8_32', 'read_name']

810 1585 parse_regex call site: 00026 /src/pcre2/src/pcre2_compile.c:3562
585 585 1 :

['return_with_partial_match']

605 25618 jit_compile call site: 03831 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00469 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00931 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03766 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00644 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00940 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00891 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00786 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00902 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00930 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00867 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516

Runtime coverage analysis

Covered functions
333
Functions that are reachable but not covered
46
Reachable functions
362
Percentage of reachable functions covered
87.29%
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 62
../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_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 1145 24.7%
gold [1:9] 11 0.23%
yellow [10:29] 28 0.60%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3450 74.4%
All colors 4634 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
810 1585 14 :

['_pcre2_compile_get_hash_from_name32', 'get_ucp', '_pcre2_strncmp_32', 'handle_escdsw', 'check_posix_name', '_pcre2_is_newline_32', 'parse_capture_list', 'read_number', 'read_repeat_counts', 'check_posix_syntax', '_pcre2_check_escape_32', 'manage_callouts', '_pcre2_strncmp_c8_32', 'read_name']

810 1585 parse_regex call site: 00026 /src/pcre2/src/pcre2_compile.c:3562
585 585 1 :

['return_with_partial_match']

605 25618 jit_compile call site: 03831 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00469 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00931 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03766 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00644 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00940 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00891 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00786 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00902 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00930 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00867 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516

Runtime coverage analysis

Covered functions
333
Functions that are reachable but not covered
46
Reachable functions
362
Percentage of reachable functions covered
87.29%
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 62
../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 1302 26.0%
gold [1:9] 11 0.22%
yellow [10:29] 27 0.54%
greenyellow [30:49] 3 0.06%
lawngreen 50+ 3651 73.1%
All colors 4994 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
810 1585 14 :

['_pcre2_compile_get_hash_from_name32', 'get_ucp', '_pcre2_strncmp_32', 'handle_escdsw', 'check_posix_name', '_pcre2_is_newline_32', 'parse_capture_list', 'read_number', 'read_repeat_counts', 'check_posix_syntax', '_pcre2_check_escape_32', 'manage_callouts', '_pcre2_strncmp_c8_32', 'read_name']

810 1585 parse_regex call site: 00026 /src/pcre2/src/pcre2_compile.c:3562
585 585 1 :

['return_with_partial_match']

605 25618 jit_compile call site: 03898 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00486 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00974 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03833 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00809 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00983 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00934 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00829 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00945 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00973 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00910 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516

Runtime coverage analysis

Covered functions
342
Functions that are reachable but not covered
46
Reachable functions
371
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 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 62
../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 1182 23.6%
gold [1:9] 11 0.22%
yellow [10:29] 26 0.52%
greenyellow [30:49] 1 0.02%
lawngreen 50+ 3774 75.5%
All colors 4994 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
810 1585 14 :

['_pcre2_compile_get_hash_from_name32', 'get_ucp', '_pcre2_strncmp_32', 'handle_escdsw', 'check_posix_name', '_pcre2_is_newline_32', 'parse_capture_list', 'read_number', 'read_repeat_counts', 'check_posix_syntax', '_pcre2_check_escape_32', 'manage_callouts', '_pcre2_strncmp_c8_32', 'read_name']

810 1585 parse_regex call site: 00026 /src/pcre2/src/pcre2_compile.c:3562
585 585 1 :

['return_with_partial_match']

605 25618 jit_compile call site: 03898 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00486 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00974 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03833 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00809 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00983 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00934 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00829 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00945 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00973 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00910 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516

Runtime coverage analysis

Covered functions
344
Functions that are reachable but not covered
44
Reachable functions
371
Percentage of reachable functions covered
88.14%
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 62
../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 1224 24.5%
gold [1:9] 11 0.22%
yellow [10:29] 14 0.28%
greenyellow [30:49] 15 0.30%
lawngreen 50+ 3730 74.6%
All colors 4994 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
810 1585 14 :

['_pcre2_compile_get_hash_from_name32', 'get_ucp', '_pcre2_strncmp_32', 'handle_escdsw', 'check_posix_name', '_pcre2_is_newline_32', 'parse_capture_list', 'read_number', 'read_repeat_counts', 'check_posix_syntax', '_pcre2_check_escape_32', 'manage_callouts', '_pcre2_strncmp_c8_32', 'read_name']

810 1585 parse_regex call site: 00026 /src/pcre2/src/pcre2_compile.c:3562
585 585 1 :

['return_with_partial_match']

605 25618 jit_compile call site: 03898 /src/pcre2/src/pcre2_jit_compile.c:13802
338 338 2 :

['emit_bswap', 'emit_clz_ctz']

338 338 sljit_emit_op1 call site: 00486 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:1911
291 291 1 :

['emit_simd_mov']

384 477 sljit_emit_simd_op2 call site: 00974 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4919
216 216 1 :

['emit_fmov_before_return']

216 328 sljit_emit_return call site: 03833 /src/pcre2/src/../deps/sljit/sljit_src/sljitLir.c:3500
164 164 1 :

['emit_cmov_generic']

164 164 sljit_emit_select call site: 00809 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_64.c:1054
107 107 1 :

['emit_vex_instruction']

107 310 sljit_emit_simd_sign call site: 00983 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4776
107 107 1 :

['emit_vex_instruction']

107 116 sljit_emit_simd_lane_replicate call site: 00934 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4648
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_lane_mov call site: 00829 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4159
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_mov call site: 00945 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:3825
107 107 1 :

['emit_vex_instruction']

107 107 sljit_emit_simd_op2 call site: 00973 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4912
93 93 1 :

['emit_groupf_ext']

521 920 sljit_emit_simd_lane_replicate call site: 00910 /src/pcre2/src/../deps/sljit/sljit_src/sljitNativeX86_common.c:4516

Runtime coverage analysis

Covered functions
343
Functions that are reachable but not covered
45
Reachable functions
371
Percentage of reachable functions covered
87.87%
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 62
../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=['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', '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=['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=['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', 'compile_bracket_matchingpath', 'do_utfreadchar', 'sljit_emit_op1', 'fast_forward_newline', 'compile_simple_assertion_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', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
sljit_emit_op1 103 53 51.45% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
emit_mov_byte 33 15 45.45% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
emit_mov_half 31 14 45.16% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
emit_cum_binary 87 37 42.52% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
emit_shift 84 35 41.66% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
sljit_has_cpu_feature 43 12 27.90% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
sljit_emit_simd_lane_mov 248 38 15.32% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
sljit_emit_simd_lane_replicate 188 32 17.02% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
sljit_emit_simd_op2 73 29 39.72% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
sljit_emit_simd_sign 76 32 42.10% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
sljit_emit_op0 91 14 15.38% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
emit_test_binary 79 26 32.91% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
_pcre2_extuni_32 39 20 51.28% ['pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32']
pcre2_jit_compile_32 70 38 54.28% ['pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_32']
fast_forward_first_char2 53 29 54.71% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
do_casefulcmp 69 34 49.27% ['pcre2_fuzzer', 'pcre2_fuzzer_4l', 'pcre2_fuzzer_16_3l', 'pcre2_fuzzer_32', 'pcre2_fuzzer_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_32_3l', 'pcre2_fuzzer_32_4l', 'pcre2_fuzzer_16_4l']
_pcre2_compile_parse_recurse_args16 86 41 47.67% ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_16_4l']
_pcre2_extuni_16 39 20 51.28% ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_16_4l']
pcre2_jit_compile_16 70 38 54.28% ['pcre2_fuzzer_16_3l', 'pcre2_fuzzer_16', 'pcre2_fuzzer_16_4l']
pcre2_jit_compile_8 70 38 54.28% ['pcre2_fuzzer_3l', 'pcre2_fuzzer', 'pcre2_fuzzer_4l']

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

Directories in report

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