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

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
libpsl_load_fuzzer libpsl/fuzz/libpsl_load_fuzzer.c 53 26 6 3 651 296 libpsl_load_fuzzer.c
libpsl_idn_load_fuzzer libpsl/fuzz/libpsl_load_fuzzer.c 80 101 12 9 1467 607 libpsl_load_fuzzer.c
libpsl_fuzzer libpsl/fuzz/libpsl_fuzzer.c 52 27 6 3 727 317 libpsl_fuzzer.c
libpsl_idn2_fuzzer libpsl/fuzz/libpsl_fuzzer.c 126 91 12 39 2642 1070 libpsl_fuzzer.c
libpsl_idn2_load_dafsa_fuzzer libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 127 91 12 39 2566 1043 libpsl_load_dafsa_fuzzer.c
libpsl_idn_fuzzer libpsl/fuzz/libpsl_fuzzer.c 107 74 12 26 2174 859 libpsl_fuzzer.c
libpsl_load_dafsa_fuzzer libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 61 19 6 3 714 325 libpsl_load_dafsa_fuzzer.c
libpsl_icu_load_dafsa_fuzzer libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 416 1874 22 38 3105 1488 libpsl_load_dafsa_fuzzer.c
libpsl_icu_fuzzer libpsl/fuzz/libpsl_fuzzer.c 798 1638 27 61 8650 3857 libpsl_fuzzer.c
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 61 19 6 3 712 325 libpsl_load_dafsa_fuzzer.c
libpsl/fuzz/libpsl_load_fuzzer.c libpsl/fuzz/libpsl_load_fuzzer.c 80 101 12 9 1467 607 libpsl_load_fuzzer.c
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 88 94 12 9 1528 636 libpsl_load_dafsa_fuzzer.c
libpsl/fuzz/libpsl_fuzzer.c libpsl/fuzz/libpsl_fuzzer.c 107 74 12 26 2173 859 libpsl_fuzzer.c
libpsl/fuzz/libpsl_load_fuzzer.c libpsl/fuzz/libpsl_load_fuzzer.c 119 98 12 39 2503 1014 libpsl_load_fuzzer.c
libpsl/fuzz/libpsl_fuzzer.c libpsl/fuzz/libpsl_fuzzer.c 52 27 6 3 726 317 libpsl_fuzzer.c
libpsl_idn_load_dafsa_fuzzer libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 88 94 12 9 1530 636 libpsl_load_dafsa_fuzzer.c
libpsl_idn2_load_fuzzer libpsl/fuzz/libpsl_load_fuzzer.c 119 98 12 39 2503 1014 libpsl_load_fuzzer.c
libpsl/fuzz/libpsl_load_fuzzer.c libpsl/fuzz/libpsl_load_fuzzer.c 53 26 6 3 651 296 libpsl_load_fuzzer.c
libpsl/fuzz/libpsl_fuzzer.c libpsl/fuzz/libpsl_fuzzer.c 798 1638 27 61 8649 3857 libpsl_fuzzer.c
libpsl_icu_load_fuzzer libpsl/fuzz/libpsl_load_fuzzer.c 409 1880 22 38 3042 1461 libpsl_load_fuzzer.c
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 416 1874 22 38 3103 1488 libpsl_load_dafsa_fuzzer.c
libpsl/fuzz/libpsl_fuzzer.c libpsl/fuzz/libpsl_fuzzer.c 126 91 12 39 2641 1070 libpsl_fuzzer.c
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 127 91 12 39 2564 1043 libpsl_load_dafsa_fuzzer.c
libpsl/fuzz/libpsl_load_fuzzer.c libpsl/fuzz/libpsl_load_fuzzer.c 409 1880 22 38 3042 1461 libpsl_load_fuzzer.c

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: libpsl_load_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 0 0.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 1.05%
lawngreen 50+ 94 98.9%
All colors 95 100

Runtime coverage analysis

Covered functions
38
Functions that are reachable but not covered
15
Reachable functions
53
Percentage of reachable functions covered
71.7%
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
libpsl/fuzz/libpsl_load_fuzzer.c 1
libpslpsl.c 27
libpsllookup_string_in_fixed_set.c 10

Fuzzer: libpsl_idn_load_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 6 3.55%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.59%
lawngreen 50+ 162 95.8%
All colors 169 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
2 49 rpl_free call site: 00049 stringprep
1 39 idna_to_ascii_8z call site: 00039 strcpy
1 47 idna_to_ascii_4i call site: 00047 rpl_free
1 55 stringprep call site: 00055 rpl_free
1 113 idna_to_ascii_4z call site: 00113 rpl_free

Runtime coverage analysis

Covered functions
60
Functions that are reachable but not covered
20
Reachable functions
80
Percentage of reachable functions covered
75.0%
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
libpsl/fuzz/libpsl_load_fuzzer.c 1
libpslpsl.c 21
libpsllookup_string_in_fixed_set.c 10
libidn/lib/idna.c 3
libidn/lib/nfkc.c 14
libidn/lib/gl/unistr/u8-check.c 1
libidn/lib/gl/free.c 1
libidn/lib/stringprep.c 6
libidn/lib/punycode.c 4

Fuzzer: libpsl_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 60 65.9%
gold [1:9] 9 9.89%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 22 24.1%
All colors 91 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
28 18 psl_strdup call site: 00018 LookupStringInFixedSet
13 3 LLVMFuzzerTestOneInput call site: 00003 is_public_suffix
11 60 LLVMFuzzerTestOneInput call site: 00060 psl_unregistrable_domain
3 52 LLVMFuzzerTestOneInput call site: 00052 is_public_suffix
3 56 LLVMFuzzerTestOneInput call site: 00056 is_public_suffix
1 47 LLVMFuzzerTestOneInput call site: 00047 is_public_suffix
1 80 LLVMFuzzerTestOneInput call site: 00080 vector_free

Runtime coverage analysis

Covered functions
18
Functions that are reachable but not covered
34
Reachable functions
52
Percentage of reachable functions covered
34.62%
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
libpsl/fuzz/libpsl_fuzzer.c 1
libpslpsl.c 34
libpsllookup_string_in_fixed_set.c 9

Fuzzer: libpsl_idn2_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 221 66.5%
gold [1:9] 11 3.31%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 100 30.1%
All colors 332 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
165 84 u8_tolower call site: 00084 idn2_lookup_u8
8 20 libunistring_u8_casemap call site: 00020 u8_mbtouc_unsafe
7 268 is_public_suffix call site: 00268 vector_find
5 4 psl_is_public_suffix call site: 00004 u8_tolower
5 29 libunistring_u8_casemap call site: 00029 __errno_location
5 54 u8_normalize call site: 00054 __errno_location
5 78 libunistring_u8_casemap call site: 00078 libunistring_rpl_free
4 62 u8_normalize call site: 00062 __errno_location
4 73 u8_normalize call site: 00073 libunistring_rpl_free
2 37 libunistring_u8_casemap call site: 00037 __errno_location
2 43 u8_normalize call site: 00043 abort
2 68 libunistring_rpl_free call site: 00068 __errno_location

Runtime coverage analysis

Covered functions
57
Functions that are reachable but not covered
77
Reachable functions
126
Percentage of reachable functions covered
38.89%
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
libpsl/fuzz/libpsl_fuzzer.c 1
libpslpsl.c 29
libunistring/lib/unistr/u8-strlen.c 1
libunistring/lib/unicase/u8-tolower.c 1
libunistring/lib/unicase/u-casemap.h 1
libunistring/lib/unistr/u8-mbtouc-unsafe.c 1
libunistring/lib/./unicase/special-casing-table.h 2
libunistring/lib/unicase/cased.c 1
libunistring/lib/./unictype/bitmap.h 1
libunistring/lib/unicase/ignorable.c 1
libunistring/lib/unictype/pr_soft_dotted.c 1
libunistring/lib/unictype/bitmap.h 1
libunistring/lib/unictype/combiningclass.c 1
libunistring/lib/unistr/u8-uctomb.c 1
libunistring/lib/unistr/u-cpy.h 2
libunistring/lib/uninorm/u-normalize-internal.h 2
libunistring/lib/./array-mergesort.h 3
libunistring/lib/free.c 1
libunistring/lib/unicase/simple-mapping.h 1
libidn2/lib/lookup.c 6
libunistring/lib/unistr/u8-to-u32.c 1
libunistring/lib/unistr/u8-mbtoucr.c 1
libidn2/lib/tr46map.c 7
libidn2/unistring/free.c 1
libunistring/lib/unistr/u32-mbtouc-unsafe.c 1
libunistring/lib/unistr/u32-uctomb.c 1
libunistring/lib/unistr/u32-to-u8.c 1
libidn2/lib/punycode.c 5
libidn2/lib/idna.c 4
libunistring/lib/unictype/categ_test.c 1
libidn2/lib/tables.c 6
libidn2/lib/context.c 4
libunistring/lib/unictype/joiningtype_of.c 1
libunistring/lib/unictype/categ_of.c 2
libunistring/lib/unictype/scripts.c 1
libidn2/lib/bidi.c 2
libunistring/lib/unictype/bidi_of.c 2
libunistring/lib/unistr/u32-cmp.c 1
libpsllookup_string_in_fixed_set.c 9

Fuzzer: libpsl_idn2_load_dafsa_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 188 55.9%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.29%
lawngreen 50+ 147 43.7%
All colors 336 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
21 13 psl_load_fp call site: 00013 add_punycode_if_needed
14 209 _idn2_label_test call site: 00209 _idn2_contexto_rule
10 275 idn2_lookup_u8 call site: 00275 psl_free
9 47 libunistring_uc_is_case_ignorable call site: 00047 u8_mbtouc_unsafe
7 57 libunistring_u8_casemap call site: 00057 __errno_location
7 82 u8_normalize call site: 00082 __errno_location
7 200 _idn2_contextj_rule call site: 00200 uc_joining_type
7 252 _idn2_u8_to_u32_nfc call site: 00252 u32_normalize
7 311 is_public_suffix call site: 00311 vector_find
6 75 u8_normalize call site: 00075 libunistring_gl_uninorm_decompose_merge_sort_inplace
6 118 u8_to_u32 call site: 00118 libunistring_rpl_free
6 139 _tr46 call site: 00139 rpl_free

Runtime coverage analysis

Covered functions
84
Functions that are reachable but not covered
52
Reachable functions
127
Percentage of reachable functions covered
59.06%
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
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 1
libpslpsl.c 26
libpsllookup_string_in_fixed_set.c 10
libunistring/lib/unistr/u8-strlen.c 1
libunistring/lib/unicase/u8-tolower.c 1
libunistring/lib/unicase/u-casemap.h 1
libunistring/lib/unistr/u8-mbtouc-unsafe.c 1
libunistring/lib/./unicase/special-casing-table.h 2
libunistring/lib/unicase/cased.c 1
libunistring/lib/./unictype/bitmap.h 1
libunistring/lib/unicase/ignorable.c 1
libunistring/lib/unictype/pr_soft_dotted.c 1
libunistring/lib/unictype/bitmap.h 1
libunistring/lib/unictype/combiningclass.c 1
libunistring/lib/unistr/u8-uctomb.c 1
libunistring/lib/unistr/u-cpy.h 2
libunistring/lib/uninorm/u-normalize-internal.h 2
libunistring/lib/./array-mergesort.h 3
libunistring/lib/free.c 1
libunistring/lib/unicase/simple-mapping.h 1
libidn2/lib/lookup.c 6
libunistring/lib/unistr/u8-to-u32.c 1
libunistring/lib/unistr/u8-mbtoucr.c 1
libidn2/lib/tr46map.c 7
libidn2/unistring/free.c 1
libunistring/lib/unistr/u32-mbtouc-unsafe.c 1
libunistring/lib/unistr/u32-uctomb.c 1
libunistring/lib/unistr/u32-to-u8.c 1
libidn2/lib/punycode.c 5
libidn2/lib/idna.c 4
libunistring/lib/unictype/categ_test.c 1
libidn2/lib/tables.c 6
libidn2/lib/context.c 4
libunistring/lib/unictype/joiningtype_of.c 1
libunistring/lib/unictype/categ_of.c 2
libunistring/lib/unictype/scripts.c 1
libidn2/lib/bidi.c 2
libunistring/lib/unictype/bidi_of.c 2
libunistring/lib/unistr/u32-cmp.c 1

Fuzzer: libpsl_idn_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 141 56.1%
gold [1:9] 11 4.38%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 99 39.4%
All colors 251 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
90 4 psl_is_public_suffix call site: 00004 idna_to_ascii_8z
8 171 libunistring_u8_casemap call site: 00171 u8_mbtouc_unsafe
7 113 is_public_suffix call site: 00113 vector_find
5 180 libunistring_u8_casemap call site: 00180 __errno_location
5 205 u8_normalize call site: 00205 __errno_location
5 227 libunistring_u8_casemap call site: 00227 libunistring_rpl_free
4 213 u8_normalize call site: 00213 __errno_location
4 222 u8_normalize call site: 00222 libunistring_rpl_free
3 234 psl_str_to_utf8lower call site: 00234 u8_tolower
2 188 libunistring_u8_casemap call site: 00188 __errno_location
2 194 u8_normalize call site: 00194 abort
1 139 is_ip6 call site: 00139 is_ip4

Runtime coverage analysis

Covered functions
57
Functions that are reachable but not covered
58
Reachable functions
107
Percentage of reachable functions covered
45.79%
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
libpsl/fuzz/libpsl_fuzzer.c 1
libpslpsl.c 30
libidn/lib/idna.c 3
libidn/lib/nfkc.c 14
libidn/lib/gl/unistr/u8-check.c 1
libidn/lib/gl/free.c 1
libidn/lib/stringprep.c 6
libidn/lib/punycode.c 4
libpsllookup_string_in_fixed_set.c 9
libunistring/lib/unicase/u8-tolower.c 1
libunistring/lib/unicase/u-casemap.h 1
libunistring/lib/unistr/u8-mbtouc-unsafe.c 1
libunistring/lib/./unicase/special-casing-table.h 2
libunistring/lib/unicase/cased.c 1
libunistring/lib/./unictype/bitmap.h 1
libunistring/lib/unicase/ignorable.c 1
libunistring/lib/unictype/pr_soft_dotted.c 1
libunistring/lib/unictype/bitmap.h 1
libunistring/lib/unictype/combiningclass.c 1
libunistring/lib/unistr/u8-uctomb.c 1
libunistring/lib/unistr/u-cpy.h 1
libunistring/lib/uninorm/u-normalize-internal.h 1
libunistring/lib/./array-mergesort.h 3
libunistring/lib/free.c 1
libunistring/lib/unicase/simple-mapping.h 1
libunistring/lib/unistr/u8-strlen.c 1

Fuzzer: libpsl_load_dafsa_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 42 39.2%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.93%
lawngreen 50+ 64 59.8%
All colors 107 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
21 13 psl_load_fp call site: 00013 add_punycode_if_needed
10 46 psl_strdup call site: 00046 psl_free
7 82 is_public_suffix call site: 00082 vector_find
4 100 psl_latest call site: 00100 psl_load_file

Runtime coverage analysis

Covered functions
32
Functions that are reachable but not covered
29
Reachable functions
61
Percentage of reachable functions covered
52.46%
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
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 1
libpslpsl.c 33
libpsllookup_string_in_fixed_set.c 10

Fuzzer: libpsl_icu_load_dafsa_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 364 53.2%
gold [1:9] 174 25.4%
yellow [10:29] 2 0.29%
greenyellow [30:49] 1 0.14%
lawngreen 50+ 142 20.7%
All colors 683 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
76 233 isTimeZoneFile(char const*, char const*) call site: 00233 u_getTimeZoneFilesDirectory_59
28 394 uhash_get_59 call site: 00394 u_getDataDirectory_59
20 526 icu_59::IDNA::createUTS46Instance(unsigned int, UErrorCode&) call site: 00526 add_punycode_if_needed
16 166 icu_59::CharString::append(char const*, int, UErrorCode&) call site: 00166 uprv_pathIsAbsolute_59
16 445 doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*) call site: 00445 UDataMemory_init_59
13 380 uhash_hashChars_59 call site: 00380 ucln_common_registerCleanup_59
11 99 icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&) call site: 00099 strcmp
11 315 checkDataItem(DataHeader const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, char const*, char const*, UErrorCode*, UErrorCode*) call site: 00315 udata_close_59
11 424 _uhash_put(UHashtable*, UElement, UElement, signed char, UErrorCode*) call site: 00424 uprv_free_59
11 479 icu_59::Norm2AllModes::createInstance(char const*, char const*, UErrorCode&) call site: 00479 ucln_common_registerCleanup_59
9 89 icu_59::Mutex::~Mutex() call site: 00089 __cxa_begin_catch
9 621 psl_strdup call site: 00621 vector_add

Runtime coverage analysis

Covered functions
205
Functions that are reachable but not covered
143
Reachable functions
416
Percentage of reachable functions covered
65.62%
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
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 1
libpslpsl.c 27
libpsllookup_string_in_fixed_set.c 10
icu/source/common/uts46.cpp 8
icu/source/common/./unicode/utypes.h 2
icu/source/common/uobject.cpp 3
icu/source/common/cmemory.cpp 2
icu/source/common/./unicode/idna.h 4
icu/source/common/./unicode/uobject.h 1
icu/source/common/loadednormalizer2impl.cpp 9
icu/source/common/normalizer2.cpp 11
icu/source/common/./umutex.h 7
icu/source/common/umutex.cpp 4
icu/source/common/./normalizer2impl.h 5
icu/source/common/normalizer2impl.cpp 2
icu/source/common/./norm2allmodes.h 5
icu/source/common/./unicode/normalizer2.h 1
icu/source/common/ucln_cmn.cpp 1
icu/source/common/./mutex.h 2
icu/source/common/udata.cpp 21
icu/source/common/./charstr.h 11
icu/source/common/./cmemory.h 8
icu/source/common/stringpiece.cpp 1
icu/source/common/./unicode/stringpiece.h 2
icu/source/common/charstr.cpp 4
icu/source/common/putil.cpp 8
icu/source/common/umapfile.cpp 2
icu/source/common/udatamem.cpp 8
icu/source/common/ucmndata.cpp 2
icu/source/common/uhash.cpp 19
icu/source/common/ustring.cpp 5
icu/source/common/utrie2.cpp 1
icu/source/common/./unicode/localpointer.h 6
icu/source/common/ustrtrns.cpp 7
icu/source/common/./unicode/char16ptr.h 8
icu/source/common/unistr.cpp 8
icu/source/common/./unicode/rep.h 1
icu/source/common/./unicode/unistr.h 9

Fuzzer: libpsl_icu_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 1258 75.2%
gold [1:9] 25 1.49%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 388 23.2%
All colors 1671 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
458 1094 _canonicalize(char const*, char*, int, unsigned int, UErrorCode*) call site: 01094 uloc_getDefault_59
152 866 getShortestSubtagLength(char const*) call site: 00866 uloc_forLanguageTag_59
118 464 udata_getMemory_59 call site: 00464 uidna_nameToASCII_59
76 224 isTimeZoneFile(char const*, char const*) call site: 00224 u_getTimeZoneFilesDirectory_59
35 1056 _canonicalize(char const*, char*, int, unsigned int, UErrorCode*) call site: 01056 uprv_sortArray_59
32 768 ucnv_loadSharedData_59 call site: 00768 ucnv_load_59
29 80 icu_59::Mutex::~Mutex() call site: 00080 udata_openChoice_59
28 45 icu_59::UMemory::operator delete(void*) call site: 00045 ucln_common_registerCleanup_59
28 385 uhash_get_59 call site: 00385 u_getDataDirectory_59
18 1615 _caseMap(int, unsigned int, int (*)(int, int (*)(void*, signed char), void*, char16_t const**, int), char16_t*, int, char16_t const*, UCaseContext*, int, int, icu_59::Edits*, UErrorCode&) call site: 01615 uprv_malloc_59
16 157 icu_59::CharString::append(char const*, int, UErrorCode&) call site: 00157 uprv_pathIsAbsolute_59
16 436 doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*) call site: 00436 UDataMemory_init_59

Runtime coverage analysis

Covered functions
204
Functions that are reachable but not covered
514
Reachable functions
798
Percentage of reachable functions covered
35.59%
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
libpsl/fuzz/libpsl_fuzzer.c 1
libpslpsl.c 28
icu/source/common/uts46.cpp 8
icu/source/common/./unicode/utypes.h 2
icu/source/common/uobject.cpp 3
icu/source/common/cmemory.cpp 4
icu/source/common/./unicode/idna.h 4
icu/source/common/./unicode/uobject.h 1
icu/source/common/loadednormalizer2impl.cpp 9
icu/source/common/normalizer2.cpp 11
icu/source/common/./umutex.h 7
icu/source/common/umutex.cpp 4
icu/source/common/./normalizer2impl.h 5
icu/source/common/normalizer2impl.cpp 2
icu/source/common/./norm2allmodes.h 5
icu/source/common/./unicode/normalizer2.h 1
icu/source/common/ucln_cmn.cpp 4
icu/source/common/./mutex.h 2
icu/source/common/udata.cpp 21
icu/source/common/./charstr.h 11
icu/source/common/./cmemory.h 8
icu/source/common/stringpiece.cpp 1
icu/source/common/./unicode/stringpiece.h 2
icu/source/common/charstr.cpp 4
icu/source/common/putil.cpp 16
icu/source/common/umapfile.cpp 2
icu/source/common/udatamem.cpp 8
icu/source/common/ucmndata.cpp 2
icu/source/common/uhash.cpp 24
icu/source/common/ustring.cpp 7
icu/source/common/utrie2.cpp 1
icu/source/common/./unicode/localpointer.h 11
icu/source/common/ustrtrns.cpp 7
icu/source/common/./unicode/char16ptr.h 8
icu/source/common/unistr.cpp 8
icu/source/common/./unicode/rep.h 1
icu/source/common/./unicode/unistr.h 9
libpsllookup_string_in_fixed_set.c 9
icu/source/common/ucnv.cpp 10
icu/source/common/ucnv_bld.cpp 19
icu/source/common/umath.cpp 1
icu/source/common/ucnv_io.cpp 10
icu/source/common/ustr_cnv.cpp 1
icu/source/common/ustrcase_locale.cpp 2
icu/source/common/uloc.cpp 22
icu/source/common/locid.cpp 8
icu/source/common/uloc_tag.cpp 33
icu/source/common/cstring.cpp 8
icu/source/common/uloc_keytype.cpp 8
icu/source/common/uresbund.cpp 36
icu/source/common/uarrsort.cpp 6
icu/source/common/uresdata.cpp 15
icu/source/common/uinvchar.cpp 2
icu/source/common/./unicode/ures.h 3
icu/source/common/uvector.cpp 4
icu/source/common/./unicode/locid.h 1
icu/source/common/ucase.cpp 8
icu/source/common/ustrcase.cpp 6
icu/source/common/edits.cpp 5
icu/source/common/./unicode/edits.h 2
icu/source/common/utrace.cpp 1

Fuzzer: libpsl/fuzz/libpsl_load_dafsa_fuzzer.c

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 32 29.9%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.93%
lawngreen 50+ 74 69.1%
All colors 107 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
10 19 suffix_compare call site: 00019 vector_add
7 82 is_public_suffix call site: 00082 vector_find
4 40 domain_to_punycode call site: 00040 psl_strdup
2 13 psl_load_fp call site: 00013 vector_alloc
2 30 vector_add call site: 00030 add_punycode_if_needed
2 51 add_punycode_if_needed call site: 00051 vector_sort
2 54 vector_sort call site: 00054 psl_free
1 16 vector_alloc call site: 00016 suffix_compare_array
1 34 add_punycode_if_needed call site: 00034 domain_to_punycode
1 100 psl_latest call site: 00100 psl_load_file

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
17
Reachable functions
61
Percentage of reachable functions covered
72.13%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 1
libpslpsl.c 33
libpsllookup_string_in_fixed_set.c 10

Fuzzer: libpsl/fuzz/libpsl_load_fuzzer.c

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 50 29.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.59%
lawngreen 50+ 118 69.8%
All colors 169 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
10 17 suffix_compare call site: 00017 vector_add
8 154 is_public_suffix call site: 00154 psl_is_public_suffix
4 98 idna_to_ascii_4i call site: 00098 rpl_free
3 85 stringprep_4i call site: 00085 stringprep_find_character_in_table
2 11 psl_load_fp call site: 00011 vector_alloc
2 28 vector_add call site: 00028 add_punycode_if_needed
2 39 idna_to_ascii_8z call site: 00039 strcpy
2 49 rpl_free call site: 00049 stringprep
2 123 add_punycode_if_needed call site: 00123 vector_sort
2 126 vector_sort call site: 00126 psl_free
1 0 EP call site: 00000 fmemopen
1 14 vector_alloc call site: 00014 suffix_compare_array

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
20
Reachable functions
80
Percentage of reachable functions covered
75.0%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_load_fuzzer.c 1
libpslpsl.c 21
libpsllookup_string_in_fixed_set.c 10
libidn/lib/idna.c 3
libidn/lib/nfkc.c 14
libidn/lib/gl/unistr/u8-check.c 1
libidn/lib/gl/free.c 1
libidn/lib/stringprep.c 6
libidn/lib/punycode.c 4

Fuzzer: libpsl/fuzz/libpsl_load_dafsa_fuzzer.c

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 49 27.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.55%
lawngreen 50+ 131 72.3%
All colors 181 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
10 19 suffix_compare call site: 00019 vector_add
7 156 is_public_suffix call site: 00156 vector_find
4 100 idna_to_ascii_4i call site: 00100 rpl_free
3 87 stringprep_4i call site: 00087 stringprep_find_character_in_table
2 13 psl_load_fp call site: 00013 vector_alloc
2 30 vector_add call site: 00030 add_punycode_if_needed
2 41 idna_to_ascii_8z call site: 00041 strcpy
2 51 rpl_free call site: 00051 stringprep
2 125 add_punycode_if_needed call site: 00125 vector_sort
2 128 vector_sort call site: 00128 psl_free
1 16 vector_alloc call site: 00016 suffix_compare_array
1 49 idna_to_ascii_4i call site: 00049 rpl_free

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
22
Reachable functions
88
Percentage of reachable functions covered
75.0%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 1
libpslpsl.c 27
libpsllookup_string_in_fixed_set.c 10
libidn/lib/idna.c 3
libidn/lib/nfkc.c 14
libidn/lib/gl/unistr/u8-check.c 1
libidn/lib/gl/free.c 1
libidn/lib/stringprep.c 6
libidn/lib/punycode.c 4

Fuzzer: libpsl/fuzz/libpsl_fuzzer.c

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 92 36.6%
gold [1:9] 3 1.19%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 156 62.1%
All colors 251 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
8 113 is_public_suffix call site: 00113 psl_is_public_suffix2
8 171 libunistring_u8_casemap call site: 00171 u8_mbtouc_unsafe
7 153 psl_str_to_utf8lower call site: 00153 u8_tolower
5 180 libunistring_u8_casemap call site: 00180 __errno_location
5 205 u8_normalize call site: 00205 __errno_location
5 227 libunistring_u8_casemap call site: 00227 libunistring_rpl_free
5 241 psl_free call site: 00241 psl_is_public_suffix
4 72 idna_to_ascii_4i call site: 00072 rpl_free
4 213 u8_normalize call site: 00213 __errno_location
4 222 u8_normalize call site: 00222 libunistring_rpl_free
4 236 u8_strlen call site: 00236 u8_tolower
3 59 stringprep_4i call site: 00059 stringprep_find_character_in_table

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
22
Reachable functions
107
Percentage of reachable functions covered
79.44%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_fuzzer.c 1
libpslpsl.c 30
libidn/lib/idna.c 3
libidn/lib/nfkc.c 14
libidn/lib/gl/unistr/u8-check.c 1
libidn/lib/gl/free.c 1
libidn/lib/stringprep.c 6
libidn/lib/punycode.c 4
libpsllookup_string_in_fixed_set.c 9
libunistring/lib/unicase/u8-tolower.c 1
libunistring/lib/unicase/u-casemap.h 1
libunistring/lib/unistr/u8-mbtouc-unsafe.c 1
libunistring/lib/./unicase/special-casing-table.h 2
libunistring/lib/unicase/cased.c 1
libunistring/lib/./unictype/bitmap.h 1
libunistring/lib/unicase/ignorable.c 1
libunistring/lib/unictype/pr_soft_dotted.c 1
libunistring/lib/unictype/bitmap.h 1
libunistring/lib/unictype/combiningclass.c 1
libunistring/lib/unistr/u8-uctomb.c 1
libunistring/lib/unistr/u-cpy.h 1
libunistring/lib/uninorm/u-normalize-internal.h 1
libunistring/lib/./array-mergesort.h 3
libunistring/lib/free.c 1
libunistring/lib/unicase/simple-mapping.h 1
libunistring/lib/unistr/u8-strlen.c 1

Fuzzer: libpsl/fuzz/libpsl_load_fuzzer.c

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 120 37.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.30%
lawngreen 50+ 203 62.6%
All colors 324 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
13 208 _idn2_label_test call site: 00208 _idn2_contexto_rule
10 17 suffix_compare call site: 00017 vector_add
8 46 libunistring_u8_casemap call site: 00046 u8_mbtouc_unsafe
8 309 is_public_suffix call site: 00309 psl_is_public_suffix
7 250 _idn2_u8_to_u32_nfc call site: 00250 u32_normalize
5 55 libunistring_u8_casemap call site: 00055 __errno_location
5 80 u8_normalize call site: 00080 __errno_location
5 104 libunistring_u8_casemap call site: 00104 libunistring_rpl_free
4 88 u8_normalize call site: 00088 __errno_location
4 99 u8_normalize call site: 00099 libunistring_rpl_free
3 119 u8_to_u32 call site: 00119 libunistring_rpl_free
2 11 psl_load_fp call site: 00011 vector_alloc

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
28
Reachable functions
119
Percentage of reachable functions covered
76.47%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_load_fuzzer.c 1
libpslpsl.c 20
libpsllookup_string_in_fixed_set.c 10
libunistring/lib/unistr/u8-strlen.c 1
libunistring/lib/unicase/u8-tolower.c 1
libunistring/lib/unicase/u-casemap.h 1
libunistring/lib/unistr/u8-mbtouc-unsafe.c 1
libunistring/lib/./unicase/special-casing-table.h 2
libunistring/lib/unicase/cased.c 1
libunistring/lib/./unictype/bitmap.h 1
libunistring/lib/unicase/ignorable.c 1
libunistring/lib/unictype/pr_soft_dotted.c 1
libunistring/lib/unictype/bitmap.h 1
libunistring/lib/unictype/combiningclass.c 1
libunistring/lib/unistr/u8-uctomb.c 1
libunistring/lib/unistr/u-cpy.h 2
libunistring/lib/uninorm/u-normalize-internal.h 2
libunistring/lib/./array-mergesort.h 3
libunistring/lib/free.c 1
libunistring/lib/unicase/simple-mapping.h 1
libidn2/lib/lookup.c 6
libunistring/lib/unistr/u8-to-u32.c 1
libunistring/lib/unistr/u8-mbtoucr.c 1
libidn2/lib/tr46map.c 7
libidn2/unistring/free.c 1
libunistring/lib/unistr/u32-mbtouc-unsafe.c 1
libunistring/lib/unistr/u32-uctomb.c 1
libunistring/lib/unistr/u32-to-u8.c 1
libidn2/lib/punycode.c 5
libidn2/lib/idna.c 4
libunistring/lib/unictype/categ_test.c 1
libidn2/lib/tables.c 6
libidn2/lib/context.c 4
libunistring/lib/unictype/joiningtype_of.c 1
libunistring/lib/unictype/categ_of.c 2
libunistring/lib/unictype/scripts.c 1
libidn2/lib/bidi.c 2
libunistring/lib/unictype/bidi_of.c 2
libunistring/lib/unistr/u32-cmp.c 1

Fuzzer: libpsl/fuzz/libpsl_fuzzer.c

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 26 28.5%
gold [1:9] 3 3.29%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 62 68.1%
All colors 91 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
8 39 is_public_suffix call site: 00039 psl_is_public_suffix2
5 81 psl_free call site: 00081 psl_is_public_suffix
4 12 domain_to_punycode call site: 00012 psl_strdup
3 77 psl_str_to_utf8lower call site: 00077 psl_str_to_utf8lower
3 87 psl_builtin_outdated call site: 00087 psl_builtin_filename
1 6 is_public_suffix call site: 00006 domain_to_punycode
1 50 LLVMFuzzerTestOneInput call site: 00050 psl_is_public_suffix2
1 65 is_ip6 call site: 00065 is_ip4

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
8
Reachable functions
52
Percentage of reachable functions covered
84.62%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_fuzzer.c 1
libpslpsl.c 34
libpsllookup_string_in_fixed_set.c 9

Fuzzer: libpsl_idn_load_dafsa_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 64 35.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.55%
lawngreen 50+ 116 64.0%
All colors 181 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
21 13 psl_load_fp call site: 00013 add_punycode_if_needed
10 120 idna_to_ascii_8z call site: 00120 psl_free
7 156 is_public_suffix call site: 00156 vector_find
4 100 idna_to_ascii_4i call site: 00100 rpl_free
4 174 psl_latest call site: 00174 psl_load_file
3 87 stringprep_4i call site: 00087 stringprep_find_character_in_table
2 41 idna_to_ascii_8z call site: 00041 strcpy
2 51 rpl_free call site: 00051 stringprep
1 49 idna_to_ascii_4i call site: 00049 rpl_free
1 57 stringprep call site: 00057 rpl_free
1 63 _g_utf8_normalize_wc call site: 00063 decompose_hangul
1 67 _g_utf8_normalize_wc call site: 00067 decompose_hangul

Runtime coverage analysis

Covered functions
53
Functions that are reachable but not covered
35
Reachable functions
88
Percentage of reachable functions covered
60.23%
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
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 1
libpslpsl.c 27
libpsllookup_string_in_fixed_set.c 10
libidn/lib/idna.c 3
libidn/lib/nfkc.c 14
libidn/lib/gl/unistr/u8-check.c 1
libidn/lib/gl/free.c 1
libidn/lib/stringprep.c 6
libidn/lib/punycode.c 4

Fuzzer: libpsl_idn2_load_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 89 27.4%
gold [1:9] 0 0.0%
yellow [10:29] 1 0.30%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 234 72.2%
All colors 324 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
13 208 _idn2_label_test call site: 00208 _idn2_contexto_rule
8 46 libunistring_u8_casemap call site: 00046 u8_mbtouc_unsafe
7 250 _idn2_u8_to_u32_nfc call site: 00250 u32_normalize
5 55 libunistring_u8_casemap call site: 00055 __errno_location
5 80 u8_normalize call site: 00080 __errno_location
5 104 libunistring_u8_casemap call site: 00104 libunistring_rpl_free
4 88 u8_normalize call site: 00088 __errno_location
4 99 u8_normalize call site: 00099 libunistring_rpl_free
3 119 u8_to_u32 call site: 00119 libunistring_rpl_free
2 63 libunistring_u8_casemap call site: 00063 __errno_location
2 69 u8_normalize call site: 00069 abort
2 94 libunistring_rpl_free call site: 00094 __errno_location

Runtime coverage analysis

Covered functions
100
Functions that are reachable but not covered
28
Reachable functions
119
Percentage of reachable functions covered
76.47%
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
libpsl/fuzz/libpsl_load_fuzzer.c 1
libpslpsl.c 20
libpsllookup_string_in_fixed_set.c 10
libunistring/lib/unistr/u8-strlen.c 1
libunistring/lib/unicase/u8-tolower.c 1
libunistring/lib/unicase/u-casemap.h 1
libunistring/lib/unistr/u8-mbtouc-unsafe.c 1
libunistring/lib/./unicase/special-casing-table.h 2
libunistring/lib/unicase/cased.c 1
libunistring/lib/./unictype/bitmap.h 1
libunistring/lib/unicase/ignorable.c 1
libunistring/lib/unictype/pr_soft_dotted.c 1
libunistring/lib/unictype/bitmap.h 1
libunistring/lib/unictype/combiningclass.c 1
libunistring/lib/unistr/u8-uctomb.c 1
libunistring/lib/unistr/u-cpy.h 2
libunistring/lib/uninorm/u-normalize-internal.h 2
libunistring/lib/./array-mergesort.h 3
libunistring/lib/free.c 1
libunistring/lib/unicase/simple-mapping.h 1
libidn2/lib/lookup.c 6
libunistring/lib/unistr/u8-to-u32.c 1
libunistring/lib/unistr/u8-mbtoucr.c 1
libidn2/lib/tr46map.c 7
libidn2/unistring/free.c 1
libunistring/lib/unistr/u32-mbtouc-unsafe.c 1
libunistring/lib/unistr/u32-uctomb.c 1
libunistring/lib/unistr/u32-to-u8.c 1
libidn2/lib/punycode.c 5
libidn2/lib/idna.c 4
libunistring/lib/unictype/categ_test.c 1
libidn2/lib/tables.c 6
libidn2/lib/context.c 4
libunistring/lib/unictype/joiningtype_of.c 1
libunistring/lib/unictype/categ_of.c 2
libunistring/lib/unictype/scripts.c 1
libidn2/lib/bidi.c 2
libunistring/lib/unictype/bidi_of.c 2
libunistring/lib/unistr/u32-cmp.c 1

Fuzzer: libpsl/fuzz/libpsl_load_fuzzer.c

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 33 34.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 1.05%
lawngreen 50+ 61 64.2%
All colors 95 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
10 17 suffix_compare call site: 00017 vector_add
8 80 is_public_suffix call site: 00080 psl_is_public_suffix
4 38 domain_to_punycode call site: 00038 psl_strdup
2 11 psl_load_fp call site: 00011 vector_alloc
2 28 vector_add call site: 00028 add_punycode_if_needed
2 49 add_punycode_if_needed call site: 00049 vector_sort
2 52 vector_sort call site: 00052 psl_free
1 0 EP call site: 00000 fmemopen
1 14 vector_alloc call site: 00014 suffix_compare_array
1 32 add_punycode_if_needed call site: 00032 domain_to_punycode

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
15
Reachable functions
53
Percentage of reachable functions covered
71.7%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_load_fuzzer.c 1
libpslpsl.c 27
libpsllookup_string_in_fixed_set.c 10

Fuzzer: libpsl/fuzz/libpsl_fuzzer.c

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 1144 68.4%
gold [1:9] 73 4.36%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 454 27.1%
All colors 1671 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
458 1094 _canonicalize(char const*, char*, int, unsigned int, UErrorCode*) call site: 01094 uloc_getDefault_59
152 866 getShortestSubtagLength(char const*) call site: 00866 uloc_forLanguageTag_59
76 224 isTimeZoneFile(char const*, char const*) call site: 00224 u_getTimeZoneFilesDirectory_59
35 1056 _canonicalize(char const*, char*, int, unsigned int, UErrorCode*) call site: 01056 uprv_sortArray_59
32 768 ucnv_loadSharedData_59 call site: 00768 ucnv_load_59
28 385 uhash_get_59 call site: 00385 u_getDataDirectory_59
18 1615 _caseMap(int, unsigned int, int (*)(int, int (*)(void*, signed char), void*, char16_t const**, int), char16_t*, int, char16_t const*, UCaseContext*, int, int, icu_59::Edits*, UErrorCode&) call site: 01615 uprv_malloc_59
16 157 icu_59::CharString::append(char const*, int, UErrorCode&) call site: 00157 uprv_pathIsAbsolute_59
16 436 doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*) call site: 00436 UDataMemory_init_59
13 371 uhash_hashChars_59 call site: 00371 ucln_common_registerCleanup_59
13 1569 icu_59::Locale::init(char const*, signed char) call site: 01569 uloc_canonicalize_59
11 90 icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&) call site: 00090 strcmp

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
382
Reachable functions
798
Percentage of reachable functions covered
52.13%
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
libpsl/fuzz/libpsl_fuzzer.c 1
libpslpsl.c 28
icu/source/common/uts46.cpp 8
icu/source/common/./unicode/utypes.h 2
icu/source/common/uobject.cpp 3
icu/source/common/cmemory.cpp 4
icu/source/common/./unicode/idna.h 4
icu/source/common/./unicode/uobject.h 1
icu/source/common/loadednormalizer2impl.cpp 9
icu/source/common/normalizer2.cpp 11
icu/source/common/./umutex.h 7
icu/source/common/umutex.cpp 4
icu/source/common/./normalizer2impl.h 5
icu/source/common/normalizer2impl.cpp 2
icu/source/common/./norm2allmodes.h 5
icu/source/common/./unicode/normalizer2.h 1
icu/source/common/ucln_cmn.cpp 4
icu/source/common/./mutex.h 2
icu/source/common/udata.cpp 21
icu/source/common/./charstr.h 11
icu/source/common/./cmemory.h 8
icu/source/common/stringpiece.cpp 1
icu/source/common/./unicode/stringpiece.h 2
icu/source/common/charstr.cpp 4
icu/source/common/putil.cpp 16
icu/source/common/umapfile.cpp 2
icu/source/common/udatamem.cpp 8
icu/source/common/ucmndata.cpp 2
icu/source/common/uhash.cpp 24
icu/source/common/ustring.cpp 7
icu/source/common/utrie2.cpp 1
icu/source/common/./unicode/localpointer.h 11
icu/source/common/ustrtrns.cpp 7
icu/source/common/./unicode/char16ptr.h 8
icu/source/common/unistr.cpp 8
icu/source/common/./unicode/rep.h 1
icu/source/common/./unicode/unistr.h 9
libpsllookup_string_in_fixed_set.c 9
icu/source/common/ucnv.cpp 10
icu/source/common/ucnv_bld.cpp 19
icu/source/common/umath.cpp 1
icu/source/common/ucnv_io.cpp 10
icu/source/common/ustr_cnv.cpp 1
icu/source/common/ustrcase_locale.cpp 2
icu/source/common/uloc.cpp 22
icu/source/common/locid.cpp 8
icu/source/common/uloc_tag.cpp 33
icu/source/common/cstring.cpp 8
icu/source/common/uloc_keytype.cpp 8
icu/source/common/uresbund.cpp 36
icu/source/common/uarrsort.cpp 6
icu/source/common/uresdata.cpp 15
icu/source/common/uinvchar.cpp 2
icu/source/common/./unicode/ures.h 3
icu/source/common/uvector.cpp 4
icu/source/common/./unicode/locid.h 1
icu/source/common/ucase.cpp 8
icu/source/common/ustrcase.cpp 6
icu/source/common/edits.cpp 5
icu/source/common/./unicode/edits.h 2
icu/source/common/utrace.cpp 1

Fuzzer: libpsl_icu_load_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 317 47.2%
gold [1:9] 174 25.9%
yellow [10:29] 3 0.44%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 177 26.3%
All colors 671 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
76 231 isTimeZoneFile(char const*, char const*) call site: 00231 u_getTimeZoneFilesDirectory_59
28 392 uhash_get_59 call site: 00392 u_getDataDirectory_59
16 164 icu_59::CharString::append(char const*, int, UErrorCode&) call site: 00164 uprv_pathIsAbsolute_59
16 443 doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*) call site: 00443 UDataMemory_init_59
13 378 uhash_hashChars_59 call site: 00378 ucln_common_registerCleanup_59
11 97 icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&) call site: 00097 strcmp
11 313 checkDataItem(DataHeader const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, char const*, char const*, UErrorCode*, UErrorCode*) call site: 00313 udata_close_59
11 422 _uhash_put(UHashtable*, UElement, UElement, signed char, UErrorCode*) call site: 00422 uprv_free_59
11 477 icu_59::Norm2AllModes::createInstance(char const*, char const*, UErrorCode&) call site: 00477 ucln_common_registerCleanup_59
9 87 icu_59::Mutex::~Mutex() call site: 00087 __cxa_begin_catch
8 221 u_setDataDirectory_59 call site: 00221 uprv_free_59
7 347 setCommonICUData(UDataMemory*, signed char, UErrorCode*) call site: 00347 uhash_close_59

Runtime coverage analysis

Covered functions
277
Functions that are reachable but not covered
125
Reachable functions
409
Percentage of reachable functions covered
69.44%
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
libpsl/fuzz/libpsl_load_fuzzer.c 1
libpslpsl.c 21
libpsllookup_string_in_fixed_set.c 10
icu/source/common/uts46.cpp 8
icu/source/common/./unicode/utypes.h 2
icu/source/common/uobject.cpp 3
icu/source/common/cmemory.cpp 2
icu/source/common/./unicode/idna.h 4
icu/source/common/./unicode/uobject.h 1
icu/source/common/loadednormalizer2impl.cpp 9
icu/source/common/normalizer2.cpp 11
icu/source/common/./umutex.h 7
icu/source/common/umutex.cpp 4
icu/source/common/./normalizer2impl.h 5
icu/source/common/normalizer2impl.cpp 2
icu/source/common/./norm2allmodes.h 5
icu/source/common/./unicode/normalizer2.h 1
icu/source/common/ucln_cmn.cpp 1
icu/source/common/./mutex.h 2
icu/source/common/udata.cpp 21
icu/source/common/./charstr.h 11
icu/source/common/./cmemory.h 8
icu/source/common/stringpiece.cpp 1
icu/source/common/./unicode/stringpiece.h 2
icu/source/common/charstr.cpp 4
icu/source/common/putil.cpp 8
icu/source/common/umapfile.cpp 2
icu/source/common/udatamem.cpp 8
icu/source/common/ucmndata.cpp 2
icu/source/common/uhash.cpp 19
icu/source/common/ustring.cpp 5
icu/source/common/utrie2.cpp 1
icu/source/common/./unicode/localpointer.h 6
icu/source/common/ustrtrns.cpp 7
icu/source/common/./unicode/char16ptr.h 8
icu/source/common/unistr.cpp 8
icu/source/common/./unicode/rep.h 1
icu/source/common/./unicode/unistr.h 9

Fuzzer: libpsl/fuzz/libpsl_load_dafsa_fuzzer.c

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 335 49.0%
gold [1:9] 56 8.19%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.14%
lawngreen 50+ 291 42.6%
All colors 683 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
76 233 isTimeZoneFile(char const*, char const*) call site: 00233 u_getTimeZoneFilesDirectory_59
28 394 uhash_get_59 call site: 00394 u_getDataDirectory_59
16 166 icu_59::CharString::append(char const*, int, UErrorCode&) call site: 00166 uprv_pathIsAbsolute_59
16 445 doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*) call site: 00445 UDataMemory_init_59
13 380 uhash_hashChars_59 call site: 00380 ucln_common_registerCleanup_59
11 99 icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&) call site: 00099 strcmp
11 424 _uhash_put(UHashtable*, UElement, UElement, signed char, UErrorCode*) call site: 00424 uprv_free_59
11 479 icu_59::Norm2AllModes::createInstance(char const*, char const*, UErrorCode&) call site: 00479 ucln_common_registerCleanup_59
10 531 suffix_compare call site: 00531 vector_add
9 89 icu_59::Mutex::~Mutex() call site: 00089 __cxa_begin_catch
7 358 openCommonData(char const*, int, UErrorCode*) call site: 00358 uhash_open_59
7 658 is_public_suffix call site: 00658 vector_find

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
115
Reachable functions
416
Percentage of reachable functions covered
72.36%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 1
libpslpsl.c 27
libpsllookup_string_in_fixed_set.c 10
icu/source/common/uts46.cpp 8
icu/source/common/./unicode/utypes.h 2
icu/source/common/uobject.cpp 3
icu/source/common/cmemory.cpp 2
icu/source/common/./unicode/idna.h 4
icu/source/common/./unicode/uobject.h 1
icu/source/common/loadednormalizer2impl.cpp 9
icu/source/common/normalizer2.cpp 11
icu/source/common/./umutex.h 7
icu/source/common/umutex.cpp 4
icu/source/common/./normalizer2impl.h 5
icu/source/common/normalizer2impl.cpp 2
icu/source/common/./norm2allmodes.h 5
icu/source/common/./unicode/normalizer2.h 1
icu/source/common/ucln_cmn.cpp 1
icu/source/common/./mutex.h 2
icu/source/common/udata.cpp 21
icu/source/common/./charstr.h 11
icu/source/common/./cmemory.h 8
icu/source/common/stringpiece.cpp 1
icu/source/common/./unicode/stringpiece.h 2
icu/source/common/charstr.cpp 4
icu/source/common/putil.cpp 8
icu/source/common/umapfile.cpp 2
icu/source/common/udatamem.cpp 8
icu/source/common/ucmndata.cpp 2
icu/source/common/uhash.cpp 19
icu/source/common/ustring.cpp 5
icu/source/common/utrie2.cpp 1
icu/source/common/./unicode/localpointer.h 6
icu/source/common/ustrtrns.cpp 7
icu/source/common/./unicode/char16ptr.h 8
icu/source/common/unistr.cpp 8
icu/source/common/./unicode/rep.h 1
icu/source/common/./unicode/unistr.h 9

Fuzzer: libpsl/fuzz/libpsl_fuzzer.c

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 123 37.0%
gold [1:9] 3 0.90%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 206 62.0%
All colors 332 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
13 182 _idn2_label_test call site: 00182 _idn2_contexto_rule
13 308 psl_str_to_utf8lower call site: 00308 u8_tolower
8 20 libunistring_u8_casemap call site: 00020 u8_mbtouc_unsafe
8 268 is_public_suffix call site: 00268 psl_is_public_suffix2
7 224 _idn2_u8_to_u32_nfc call site: 00224 u32_normalize
5 29 libunistring_u8_casemap call site: 00029 __errno_location
5 54 u8_normalize call site: 00054 __errno_location
5 78 libunistring_u8_casemap call site: 00078 libunistring_rpl_free
5 322 psl_free call site: 00322 psl_is_public_suffix
4 62 u8_normalize call site: 00062 __errno_location
4 73 u8_normalize call site: 00073 libunistring_rpl_free
3 93 u8_to_u32 call site: 00093 libunistring_rpl_free

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
27
Reachable functions
126
Percentage of reachable functions covered
78.57%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_fuzzer.c 1
libpslpsl.c 29
libunistring/lib/unistr/u8-strlen.c 1
libunistring/lib/unicase/u8-tolower.c 1
libunistring/lib/unicase/u-casemap.h 1
libunistring/lib/unistr/u8-mbtouc-unsafe.c 1
libunistring/lib/./unicase/special-casing-table.h 2
libunistring/lib/unicase/cased.c 1
libunistring/lib/./unictype/bitmap.h 1
libunistring/lib/unicase/ignorable.c 1
libunistring/lib/unictype/pr_soft_dotted.c 1
libunistring/lib/unictype/bitmap.h 1
libunistring/lib/unictype/combiningclass.c 1
libunistring/lib/unistr/u8-uctomb.c 1
libunistring/lib/unistr/u-cpy.h 2
libunistring/lib/uninorm/u-normalize-internal.h 2
libunistring/lib/./array-mergesort.h 3
libunistring/lib/free.c 1
libunistring/lib/unicase/simple-mapping.h 1
libidn2/lib/lookup.c 6
libunistring/lib/unistr/u8-to-u32.c 1
libunistring/lib/unistr/u8-mbtoucr.c 1
libidn2/lib/tr46map.c 7
libidn2/unistring/free.c 1
libunistring/lib/unistr/u32-mbtouc-unsafe.c 1
libunistring/lib/unistr/u32-uctomb.c 1
libunistring/lib/unistr/u32-to-u8.c 1
libidn2/lib/punycode.c 5
libidn2/lib/idna.c 4
libunistring/lib/unictype/categ_test.c 1
libidn2/lib/tables.c 6
libidn2/lib/context.c 4
libunistring/lib/unictype/joiningtype_of.c 1
libunistring/lib/unictype/categ_of.c 2
libunistring/lib/unictype/scripts.c 1
libidn2/lib/bidi.c 2
libunistring/lib/unictype/bidi_of.c 2
libunistring/lib/unistr/u32-cmp.c 1
libpsllookup_string_in_fixed_set.c 9

Fuzzer: libpsl/fuzz/libpsl_load_dafsa_fuzzer.c

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 119 35.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.29%
lawngreen 50+ 216 64.2%
All colors 336 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
13 210 _idn2_label_test call site: 00210 _idn2_contexto_rule
10 19 suffix_compare call site: 00019 vector_add
8 48 libunistring_u8_casemap call site: 00048 u8_mbtouc_unsafe
7 252 _idn2_u8_to_u32_nfc call site: 00252 u32_normalize
7 311 is_public_suffix call site: 00311 vector_find
5 57 libunistring_u8_casemap call site: 00057 __errno_location
5 82 u8_normalize call site: 00082 __errno_location
5 106 libunistring_u8_casemap call site: 00106 libunistring_rpl_free
4 90 u8_normalize call site: 00090 __errno_location
4 101 u8_normalize call site: 00101 libunistring_rpl_free
3 121 u8_to_u32 call site: 00121 libunistring_rpl_free
2 13 psl_load_fp call site: 00013 vector_alloc

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
30
Reachable functions
127
Percentage of reachable functions covered
76.38%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c 1
libpslpsl.c 26
libpsllookup_string_in_fixed_set.c 10
libunistring/lib/unistr/u8-strlen.c 1
libunistring/lib/unicase/u8-tolower.c 1
libunistring/lib/unicase/u-casemap.h 1
libunistring/lib/unistr/u8-mbtouc-unsafe.c 1
libunistring/lib/./unicase/special-casing-table.h 2
libunistring/lib/unicase/cased.c 1
libunistring/lib/./unictype/bitmap.h 1
libunistring/lib/unicase/ignorable.c 1
libunistring/lib/unictype/pr_soft_dotted.c 1
libunistring/lib/unictype/bitmap.h 1
libunistring/lib/unictype/combiningclass.c 1
libunistring/lib/unistr/u8-uctomb.c 1
libunistring/lib/unistr/u-cpy.h 2
libunistring/lib/uninorm/u-normalize-internal.h 2
libunistring/lib/./array-mergesort.h 3
libunistring/lib/free.c 1
libunistring/lib/unicase/simple-mapping.h 1
libidn2/lib/lookup.c 6
libunistring/lib/unistr/u8-to-u32.c 1
libunistring/lib/unistr/u8-mbtoucr.c 1
libidn2/lib/tr46map.c 7
libidn2/unistring/free.c 1
libunistring/lib/unistr/u32-mbtouc-unsafe.c 1
libunistring/lib/unistr/u32-uctomb.c 1
libunistring/lib/unistr/u32-to-u8.c 1
libidn2/lib/punycode.c 5
libidn2/lib/idna.c 4
libunistring/lib/unictype/categ_test.c 1
libidn2/lib/tables.c 6
libidn2/lib/context.c 4
libunistring/lib/unictype/joiningtype_of.c 1
libunistring/lib/unictype/categ_of.c 2
libunistring/lib/unictype/scripts.c 1
libidn2/lib/bidi.c 2
libunistring/lib/unictype/bidi_of.c 2
libunistring/lib/unistr/u32-cmp.c 1

Fuzzer: libpsl/fuzz/libpsl_load_fuzzer.c

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 336 50.0%
gold [1:9] 56 8.34%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.14%
lawngreen 50+ 278 41.4%
All colors 671 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
76 231 isTimeZoneFile(char const*, char const*) call site: 00231 u_getTimeZoneFilesDirectory_59
28 392 uhash_get_59 call site: 00392 u_getDataDirectory_59
16 164 icu_59::CharString::append(char const*, int, UErrorCode&) call site: 00164 uprv_pathIsAbsolute_59
16 443 doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*) call site: 00443 UDataMemory_init_59
13 378 uhash_hashChars_59 call site: 00378 ucln_common_registerCleanup_59
11 97 icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&) call site: 00097 strcmp
11 422 _uhash_put(UHashtable*, UElement, UElement, signed char, UErrorCode*) call site: 00422 uprv_free_59
11 477 icu_59::Norm2AllModes::createInstance(char const*, char const*, UErrorCode&) call site: 00477 ucln_common_registerCleanup_59
10 529 suffix_compare call site: 00529 vector_add
9 87 icu_59::Mutex::~Mutex() call site: 00087 __cxa_begin_catch
8 656 is_public_suffix call site: 00656 psl_is_public_suffix
7 356 openCommonData(char const*, int, UErrorCode*) call site: 00356 uhash_open_59

Runtime coverage analysis

Covered functions
492
Functions that are reachable but not covered
114
Reachable functions
409
Percentage of reachable functions covered
72.13%
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.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
libpsl/fuzz/libpsl_load_fuzzer.c 1
libpslpsl.c 21
libpsllookup_string_in_fixed_set.c 10
icu/source/common/uts46.cpp 8
icu/source/common/./unicode/utypes.h 2
icu/source/common/uobject.cpp 3
icu/source/common/cmemory.cpp 2
icu/source/common/./unicode/idna.h 4
icu/source/common/./unicode/uobject.h 1
icu/source/common/loadednormalizer2impl.cpp 9
icu/source/common/normalizer2.cpp 11
icu/source/common/./umutex.h 7
icu/source/common/umutex.cpp 4
icu/source/common/./normalizer2impl.h 5
icu/source/common/normalizer2impl.cpp 2
icu/source/common/./norm2allmodes.h 5
icu/source/common/./unicode/normalizer2.h 1
icu/source/common/ucln_cmn.cpp 1
icu/source/common/./mutex.h 2
icu/source/common/udata.cpp 21
icu/source/common/./charstr.h 11
icu/source/common/./cmemory.h 8
icu/source/common/stringpiece.cpp 1
icu/source/common/./unicode/stringpiece.h 2
icu/source/common/charstr.cpp 4
icu/source/common/putil.cpp 8
icu/source/common/umapfile.cpp 2
icu/source/common/udatamem.cpp 8
icu/source/common/ucmndata.cpp 2
icu/source/common/uhash.cpp 19
icu/source/common/ustring.cpp 5
icu/source/common/utrie2.cpp 1
icu/source/common/./unicode/localpointer.h 6
icu/source/common/ustrtrns.cpp 7
icu/source/common/./unicode/char16ptr.h 8
icu/source/common/unistr.cpp 8
icu/source/common/./unicode/rep.h 1
icu/source/common/./unicode/unistr.h 9

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
icu_59::UnicodeSet::containsNone(icu_59::UnicodeStringconst&)const /src/icu/source/common/uniset.cpp 2 ['N/A', 'N/A'] 22 0 26 3 2 277 0 1056 854
icu_59::UTS46::labelToASCII_UTF8(icu_59::StringPiece,icu_59::ByteSink&,icu_59::IDNAInfo&,UErrorCode&)const /src/icu/source/common/uts46.cpp 6 ['N/A', 'N/A', 'int', 'N/A', 'N/A', 'N/A'] 12 0 35 3 2 180 0 773 402
icu_59::ComposeNormalizer2::normalizeAndAppend(char16_tconst*,char16_tconst*,signedchar,icu_59::UnicodeString&,icu_59::ReorderingBuffer&,UErrorCode&)const /src/icu/source/common/./norm2allmodes.h 7 ['N/A', 'N/A', 'N/A', 'char', 'N/A', 'N/A', 'N/A'] 13 0 37 3 2 202 0 528 370
uloc_toLanguageTag_59 /src/icu/source/common/uloc_tag.cpp 5 ['N/A', 'N/A', 'int', 'char', 'N/A'] 37 0 289 34 13 510 0 2767 359
idn2_to_ascii_lz /src/libidn2/lib/lookup.c 3 ['N/A', 'N/A', 'int'] 10 0 21 3 2 93 0 1050 356
icu_59::Normalizer2Impl::addCanonIterPropertyStarts(USetAdderconst*,UErrorCode&)const /src/icu/source/common/normalizer2impl.cpp 3 ['N/A', 'N/A', 'N/A'] 10 0 37 6 3 163 0 509 335
UConverter_toUnicode_ISO_2022_KR_OFFSETS_LOGIC(UConverterToUnicodeArgs*,UErrorCode*) /src/icu/source/common/ucnv2022.cpp 2 ['N/A', 'N/A'] 6 0 531 66 24 39 0 328 324

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
40.0%
916 / 2273
Cyclomatic complexity statically reachable by fuzzers
41.0%
8026 / 19573

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

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

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.

libpsl/fuzz/libpsl_load_fuzzer.c

Dictionary

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


libpsl/fuzz/libpsl_load_fuzzer.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=['rpl_free', 'idna_to_ascii_8z', 'idna_to_ascii_4i', 'stringprep', 'idna_to_ascii_4z']

libpsl/fuzz/libpsl_fuzzer.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=['psl_strdup', 'LLVMFuzzerTestOneInput']

libpsl/fuzz/libpsl_fuzzer.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=['u8_tolower', 'libunistring_u8_casemap', 'is_public_suffix', 'psl_is_public_suffix', 'u8_normalize']

libpsl/fuzz/libpsl_load_dafsa_fuzzer.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=['psl_load_fp', '_idn2_label_test', 'idn2_lookup_u8', 'libunistring_uc_is_case_ignorable', 'libunistring_u8_casemap', 'u8_normalize', '_idn2_contextj_rule', '_idn2_u8_to_u32_nfc', 'is_public_suffix']

libpsl/fuzz/libpsl_fuzzer.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=['psl_is_public_suffix', 'libunistring_u8_casemap', 'is_public_suffix', 'u8_normalize', 'psl_str_to_utf8lower']

libpsl/fuzz/libpsl_load_dafsa_fuzzer.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=['psl_load_fp', 'psl_strdup', 'is_public_suffix', 'psl_latest']

libpsl/fuzz/libpsl_load_dafsa_fuzzer.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=['isTimeZoneFile(char const*, char const*)', 'uhash_get_59', 'icu_59::IDNA::createUTS46Instance(unsigned int, UErrorCode&)', 'icu_59::CharString::append(char const*, int, UErrorCode&)', 'doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*)', 'uhash_hashChars_59', 'icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&)', 'checkDataItem(DataHeader const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, char const*, char const*, UErrorCode*, UErrorCode*)', '_uhash_put(UHashtable*, UElement, UElement, signed char, UErrorCode*)', 'icu_59::Norm2AllModes::createInstance(char const*, char const*, UErrorCode&)']

libpsl/fuzz/libpsl_fuzzer.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=['_canonicalize(char const*, char*, int, unsigned int, UErrorCode*)', 'getShortestSubtagLength(char const*)', 'udata_getMemory_59', 'isTimeZoneFile(char const*, char const*)', '_canonicalize(char const*, char*, int, unsigned int, UErrorCode*)', 'ucnv_loadSharedData_59', 'icu_59::Mutex::~Mutex()', 'icu_59::UMemory::operator delete(void*)', 'uhash_get_59', '_caseMap(int, unsigned int, int (*)(int, int (*)(void*, signed char), void*, char16_t const**, int), char16_t*, int, char16_t const*, UCaseContext*, int, int, icu_59::Edits*, UErrorCode&)']

libpsl/fuzz/libpsl_load_dafsa_fuzzer.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=['suffix_compare', 'is_public_suffix', 'domain_to_punycode', 'psl_load_fp', 'vector_add', 'add_punycode_if_needed', 'vector_sort', 'vector_alloc', 'psl_latest']

libpsl/fuzz/libpsl_load_fuzzer.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=['suffix_compare', 'is_public_suffix', 'idna_to_ascii_4i', 'stringprep_4i', 'psl_load_fp', 'vector_add', 'idna_to_ascii_8z', 'rpl_free', 'add_punycode_if_needed', 'vector_sort']

libpsl/fuzz/libpsl_load_dafsa_fuzzer.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=['suffix_compare', 'is_public_suffix', 'idna_to_ascii_4i', 'stringprep_4i', 'psl_load_fp', 'vector_add', 'idna_to_ascii_8z', 'rpl_free', 'add_punycode_if_needed', 'vector_sort']

libpsl/fuzz/libpsl_fuzzer.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=['is_public_suffix', 'libunistring_u8_casemap', 'psl_str_to_utf8lower', 'u8_normalize', 'psl_free', 'idna_to_ascii_4i']

libpsl/fuzz/libpsl_load_fuzzer.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=['_idn2_label_test', 'suffix_compare', 'libunistring_u8_casemap', 'is_public_suffix', '_idn2_u8_to_u32_nfc', 'u8_normalize']

libpsl/fuzz/libpsl_fuzzer.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=['is_public_suffix', 'psl_free', 'domain_to_punycode', 'psl_str_to_utf8lower', 'psl_builtin_outdated', 'LLVMFuzzerTestOneInput', 'is_ip6']

libpsl/fuzz/libpsl_load_dafsa_fuzzer.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=['psl_load_fp', 'idna_to_ascii_8z', 'is_public_suffix', 'idna_to_ascii_4i', 'psl_latest', 'stringprep_4i', 'rpl_free', 'stringprep']

libpsl/fuzz/libpsl_load_fuzzer.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=['_idn2_label_test', 'libunistring_u8_casemap', '_idn2_u8_to_u32_nfc', 'u8_normalize', 'u8_to_u32']

libpsl/fuzz/libpsl_load_fuzzer.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=['suffix_compare', 'is_public_suffix', 'domain_to_punycode', 'psl_load_fp', 'vector_add', 'add_punycode_if_needed', 'vector_sort', 'vector_alloc']

libpsl/fuzz/libpsl_fuzzer.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=['_canonicalize(char const*, char*, int, unsigned int, UErrorCode*)', 'getShortestSubtagLength(char const*)', 'isTimeZoneFile(char const*, char const*)', '_canonicalize(char const*, char*, int, unsigned int, UErrorCode*)', 'ucnv_loadSharedData_59', 'uhash_get_59', '_caseMap(int, unsigned int, int (*)(int, int (*)(void*, signed char), void*, char16_t const**, int), char16_t*, int, char16_t const*, UCaseContext*, int, int, icu_59::Edits*, UErrorCode&)', 'icu_59::CharString::append(char const*, int, UErrorCode&)', 'doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*)', 'uhash_hashChars_59']

libpsl/fuzz/libpsl_load_fuzzer.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=['isTimeZoneFile(char const*, char const*)', 'uhash_get_59', 'icu_59::CharString::append(char const*, int, UErrorCode&)', 'doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*)', 'uhash_hashChars_59', 'icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&)', 'checkDataItem(DataHeader const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, char const*, char const*, UErrorCode*, UErrorCode*)', '_uhash_put(UHashtable*, UElement, UElement, signed char, UErrorCode*)', 'icu_59::Norm2AllModes::createInstance(char const*, char const*, UErrorCode&)', 'icu_59::Mutex::~Mutex()']

libpsl/fuzz/libpsl_load_dafsa_fuzzer.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=['isTimeZoneFile(char const*, char const*)', 'uhash_get_59', 'icu_59::CharString::append(char const*, int, UErrorCode&)', 'doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*)', 'uhash_hashChars_59', 'icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&)', '_uhash_put(UHashtable*, UElement, UElement, signed char, UErrorCode*)', 'icu_59::Norm2AllModes::createInstance(char const*, char const*, UErrorCode&)', 'suffix_compare', 'icu_59::Mutex::~Mutex()']

libpsl/fuzz/libpsl_fuzzer.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=['_idn2_label_test', 'psl_str_to_utf8lower', 'libunistring_u8_casemap', 'is_public_suffix', '_idn2_u8_to_u32_nfc', 'u8_normalize', 'psl_free']

libpsl/fuzz/libpsl_load_dafsa_fuzzer.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=['_idn2_label_test', 'suffix_compare', 'libunistring_u8_casemap', '_idn2_u8_to_u32_nfc', 'is_public_suffix', 'u8_normalize']

libpsl/fuzz/libpsl_load_fuzzer.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=['isTimeZoneFile(char const*, char const*)', 'uhash_get_59', 'icu_59::CharString::append(char const*, int, UErrorCode&)', 'doLoadFromCommonData(signed char, char const*, char const*, char const*, char const*, char const*, char const*, char const*, signed char (*)(void*, char const*, char const*, UDataInfo const*), void*, UErrorCode*, UErrorCode*)', 'uhash_hashChars_59', 'icu_59::Normalizer2::getInstance(char const*, char const*, UNormalization2Mode, UErrorCode&)', '_uhash_put(UHashtable*, UElement, UElement, signed char, UErrorCode*)', 'icu_59::Norm2AllModes::createInstance(char const*, char const*, UErrorCode&)', 'suffix_compare', 'icu_59::Mutex::~Mutex()']

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
libunistring_u8_casemap 304 162 53.28% ['libpsl_idn2_fuzzer', '/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl_idn2_load_fuzzer', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
udata_checkCommonData_59 38 19 50.0% ['libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
doOpenChoice(charconst*,charconst*,charconst*,signedchar(*)(void*,charconst*,charconst*,UDataInfoconst*),void*,UErrorCode*) 127 51 40.15% ['libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
openCommonData(charconst*,int,UErrorCode*) 60 24 40.0% ['libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
_uhash_put(UHashtable*,UElement,UElement,signedchar,UErrorCode*) 33 17 51.51% ['libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
u_strFromUTF8WithSub_59 251 66 26.29% ['libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
u_strToUTF8WithSub_59 211 116 54.97% ['libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
uprv_getDefaultLocaleID_59 70 25 35.71% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
ucase_getCaseLocale_59 122 8 6.557% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
ucnv_close_59 54 16 29.62% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
ucnv_toUChars_59 44 21 47.72% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
_reset(UConverter*,UConverterResetChoice,signedchar) 55 17 30.90% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
_toUnicodeWithCallback(UConverterToUnicodeArgs*,UErrorCode*) 153 83 54.24% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
ucnv_flushCache_59 37 13 35.13% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
parseConverterOptions(charconst*,UConverterNamePieces*,UConverterLoadArgs*,UErrorCode*) 58 16 27.58% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
_getVariantEx(charconst*,char,char*,int,signedchar) 48 16 33.33% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
_canonicalize(charconst*,char*,int,unsignedint,UErrorCode*) 202 92 45.54% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
ustrcase_mapWithOverlap_59 46 23 50.0% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']
icu_59::UnicodeString::copyFrom(icu_59::UnicodeStringconst&,signedchar) 54 14 25.92% ['/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', '/src/libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', '/src/libpsl/fuzz/libpsl_load_fuzzer.c']

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/libunistring/lib/./array-mergesort.h ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] []
/src/libunistring/lib/unicase/u-casemap.h ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/./unicode/unistr.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/icu/source/common/uresbund.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/icu/source/common/ucnvscsu.cpp [] []
/src/libunistring/lib/c-strcasecmp.c [] []
/src/libunistring/lib/unistr/u32-to-u8.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/umapfile.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/utrie2.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/ucnvlat1.cpp [] []
/src/libunistring/lib/unictype/joiningtype_of.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libunistring/lib/unistr/u8-strlen.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/./mutex.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/libidn2/unistring/free.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/./umutex.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/libunistring/lib/unistr/u32-cmp.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/ucnv.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/icu/source/common/uhash.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/uloc_tag.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/icu/source/common/udataswp.cpp [] []
/src/icu/source/common/uenum.cpp [] []
/src/libidn/lib/punycode.c ['libpsl_idn_load_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer'] ['libpsl_idn_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer']
/src/icu/source/common/ustrenum.cpp [] []
/src/libunistring/lib/unicase/cased.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libunistring/lib/unicase/u8-tolower.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/./utrie2.h [] []
/src/icu/source/common/ucnvisci.cpp [] []
/src/icu/source/common/ucnv_io.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/icu/source/common/unifilt.cpp [] []
/src/libunistring/lib/unicase/simple-mapping.h ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/normalizer2impl.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/ucnv_lmb.cpp [] []
/src/icu/source/common/ucnv_u8.cpp [] []
/src/libunistring/lib/unistr/u-cpy.h ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] []
/src/icu/source/common/putil.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/unifunct.cpp [] []
/src/libunistring/lib/unistr/u32-uctomb.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libpsl/fuzz/libpsl_load_fuzzer.c ['libpsl_load_fuzzer', 'libpsl_idn_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_load_fuzzer', 'libpsl_idn_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/udata.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/libidn2/lib/bidi.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libidn/lib/gl/c-strncasecmp.c [] []
/src/icu/source/common/./normalizer2impl.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/icu/source/common/normalizer2.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/ucnv_u32.cpp [] []
/src/libunistring/lib/unictype/categ_of.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/ustrtrns.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/libidn2/lib/lookup.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/stringpiece.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/uresdata.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/libunistring/lib/./c-ctype.h [] []
/src/icu/source/common/utf_impl.cpp [] []
/src/libunistring/lib/unistr/u32-mbtouc-unsafe.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/ucnv_ct.cpp [] []
/src/icu/source/common/locid.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/icu/source/common/punycode.cpp [] []
/src/libidn2/lib/punycode.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/./cpputils.h [] []
/src/libidn2/unistring/localcharset.c [] []
/src/libunistring/lib/uninorm/canonical-decomposition.c [] []
/src/libunistring/lib/./unictype/bitmap.h ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] []
/src/icu/source/common/ucnv_u7.cpp [] []
/src/icu/source/common/charstr.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/appendable.cpp [] []
/src/icu/source/common/unistr.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/libunistring/lib/uninorm/composition-table.h [] []
/src/icu/source/common/ucnv_cb.cpp [] []
/src/libunistring/lib/unistr/u8-mblen.c [] []
/src/icu/source/common/umutex.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/libunistring/lib/malloca.c [] []
/src/libunistring/lib/uninorm/composition.c [] []
/src/libunistring/lib/striconveha.c [] []
/src/icu/source/common/ucnvbocu.cpp [] []
/src/libidn/lib/gl/unistr/u8-check.c ['libpsl_idn_load_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer'] ['libpsl_idn_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer']
/src/icu/source/common/util.cpp [] []
/src/icu/source/common/ustrcase_locale.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/icu/source/common/bytestream.cpp [] []
/src/icu/source/common/./bmpset.h [] []
/src/libunistring/lib/unistr/u8-mbtouc.c [] []
/src/icu/source/common/./unicode/idna.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/libunistring/lib/striconveh.c [] []
/src/icu/source/common/./unicode/unifunct.h [] []
/src/icu/source/common/./unicode/uniset.h [] []
/src/libunistring/lib/unicase/ignorable.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libidn2/lib/tr46map.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/loadednormalizer2impl.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/./unicode/uobject.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/icu/source/common/ucnv_u16.cpp [] []
/src/libunistring/lib/unistr/u8-mbtouc-unsafe.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libidn/lib/gl/c-strcasecmp.c [] []
/src/libidn/lib/gl/striconv.c [] []
/src/icu/source/common/ucnv_err.cpp [] []
/src/icu/source/common/./unicode/char16ptr.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/libidn2/lib/idna.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/./unicode/unimatch.h [] []
/src/icu/source/common/resource.cpp [] []
/src/icu/source/common/ucnv_ext.cpp [] []
/src/icu/source/common/ucol_swp.cpp [] []
/src/libunistring/lib/unistr/u8-mbtoucr.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libidn/lib/gl/free.c ['libpsl_idn_load_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer'] ['libpsl_idn_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer']
/src/libunistring/lib/unictype/pr_soft_dotted.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] []
/src/icu/source/common/uniset.cpp [] []
/src/icu/source/common/ucnvhz.cpp [] []
/src/icu/source/common/uchar.cpp [] []
/src/libunistring/lib/unictype/combiningclass.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/uloc.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/libunistring/lib/unictype/categ_none.c [] []
/src/libunistring/lib/unistr/u-strlen.h [] []
/src/icu/source/common/./unisetspan.h [] []
/src/icu/source/common/utrie2_builder.cpp [] []
/src/icu/source/common/./unicode/unifilt.h [] []
/src/libpsl/fuzz/libpsl_load_dafsa_fuzzer.c ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl_load_dafsa_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl_load_dafsa_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libunistring/lib/unistr/u8-check.c [] []
/src/icu/source/common/./uresdata.h [] []
/src/icu/source/common/uvector.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/libunistring/lib/unistr/u8-prev.c [] []
/src/libunistring/lib/uniconv/u8-conv-from-enc.c [] []
/src/icu/source/common/utrie.cpp [] []
/src/icu/source/common/edits.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/libunistring/lib/unistr/u8-uctomb.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/ucnv2022.cpp [] []
/src/icu/source/common/ucmndata.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/uts46.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/libunistring/lib/free.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/./unicode/utypes.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/icu/source/common/uloc_keytype.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/libunistring/lib/unictype/bidi_of.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/./uvector.h [] []
/src/icu/source/common/uobject.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/ucln_cmn.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/ustrcase.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/icu/source/common/./charstr.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/libidn2/lib/tables.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/uarrsort.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/icu/source/common/cstring.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/libunistring/lib/uninorm/decomposition.c [] []
/src/icu/source/common/utrace.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/libpsl/fuzz/libpsl_fuzzer.c ['libpsl_fuzzer', 'libpsl_idn2_fuzzer', 'libpsl_idn_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_fuzzer', 'libpsl_idn2_fuzzer', 'libpsl_idn_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/libpsl/src/psl.c ['libpsl_load_fuzzer', 'libpsl_idn_load_fuzzer', 'libpsl_fuzzer', 'libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl_load_dafsa_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_load_fuzzer', 'libpsl_idn_load_fuzzer', 'libpsl_fuzzer', 'libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl_load_dafsa_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/libunistring/lib/uniconv/u-strconv-from-enc.h [] []
/src/libidn/lib/idna.c ['libpsl_idn_load_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer'] ['libpsl_idn_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer']
/src/libunistring/lib/uninorm/u-normalize-internal.h ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libunistring/lib/unictype/categ_test.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/icu/source/common/umath.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/libunistring/lib/uninorm/compat-decomposition.c [] []
/src/icu/source/common/./norm2allmodes.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/libidn/lib/stringprep.c ['libpsl_idn_load_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer'] ['libpsl_idn_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer']
/src/icu/source/common/bmpset.cpp [] []
/src/icu/source/common/cmemory.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/patternprops.cpp [] []
/src/libunistring/lib/./string.h [] []
/src/icu/source/common/ucnv_cnv.cpp [] []
/src/icu/source/common/ubidi_props.cpp [] []
/src/icu/source/common/./unicode/bytestream.h [] []
/src/icu/source/common/udatamem.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/unisetspan.cpp [] []
/src/icu/source/common/./unicode/rep.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/icu/source/common/ucnv_bld.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/icu/source/common/./unicode/ures.h ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/icu/source/common/./unicode/stringpiece.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/icu/source/common/./cmemory.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/icu/source/common/locmap.cpp [] []
/src/icu/source/common/ustrfmt.cpp [] []
/src/libunistring/lib/unictype/scripts.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] []
/src/libunistring/lib/unistr/u8-to-u32.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libunistring/lib/./uninorm/decomposition-table.h [] []
/src/libidn2/lib/context.c ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] ['libpsl_idn2_load_dafsa_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c']
/src/libidn/lib/nfkc.c ['libpsl_idn_load_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer'] ['libpsl_idn_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer']
/src/icu/source/common/./resource.h [] []
/src/icu/source/common/ustring.cpp ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/libunistring/lib/./unicase/special-casing-table.h ['libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c'] []
/src/icu/source/common/ucase.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']
/src/icu/source/common/./unicode/edits.h ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/libidn/lib/toutf8.c [] []
/src/icu/source/common/ucnvmbcs.cpp [] []
/src/libunistring/lib/unictype/scripts_byname.gperf [] []
/src/icu/source/common/uinvchar.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/icu/source/common/./uinvchar.h [] []
/src/libidn/lib/gl/./c-ctype.h [] []
/src/icu/source/common/./unicode/locid.h ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] []
/src/icu/source/common/./unicode/normalizer2.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/icu/source/common/./unicode/localpointer.h ['libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] []
/src/libpsl/src/lookup_string_in_fixed_set.c ['libpsl_load_fuzzer', 'libpsl_idn_load_fuzzer', 'libpsl_fuzzer', 'libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl_load_dafsa_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c'] ['libpsl_load_fuzzer', 'libpsl_idn_load_fuzzer', 'libpsl_idn2_fuzzer', 'libpsl_idn2_load_dafsa_fuzzer', 'libpsl_idn_fuzzer', 'libpsl_load_dafsa_fuzzer', 'libpsl_icu_load_dafsa_fuzzer', 'libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_idn_load_dafsa_fuzzer', 'libpsl_idn2_load_fuzzer', 'libpsl/fuzz/libpsl_load_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl_icu_load_fuzzer', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_fuzzer.c', 'libpsl/fuzz/libpsl_load_dafsa_fuzzer.c', 'libpsl/fuzz/libpsl_load_fuzzer.c']
/src/icu/source/common/ustr_cnv.cpp ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c'] ['libpsl_icu_fuzzer', 'libpsl/fuzz/libpsl_fuzzer.c']

Directories in report

Directory
/src/libunistring/lib/./
/src/icu/source/common/./unicode/
/src/libidn/lib/
/src/libidn2/lib/
/src/libpsl/src/
/src/libidn/lib/gl/./
/src/libunistring/lib/unicase/
/src/libunistring/lib/uninorm/
/src/libunistring/lib/uniconv/
/src/icu/source/common/./
/src/libidn/lib/gl/unistr/
/src/libunistring/lib/./unictype/
/src/libidn/lib/gl/
/src/icu/source/common/
/src/libunistring/lib/unistr/
/src/libpsl/fuzz/
/src/libidn2/unistring/
/src/libunistring/lib/
/src/libunistring/lib/./unicase/
/src/libunistring/lib/unictype/
/src/libunistring/lib/./uninorm/

Metadata section

This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.

Fuzzer Calltree file Program data file Coverage file
libpsl_load_fuzzer fuzzerLogFile-0-a9J49IWSi8.data fuzzerLogFile-0-a9J49IWSi8.data.yaml libpsl_load_fuzzer.covreport
libpsl_idn_load_fuzzer fuzzerLogFile-0-MnXMnIxFiG.data fuzzerLogFile-0-MnXMnIxFiG.data.yaml libpsl_idn_load_fuzzer.covreport
libpsl_fuzzer fuzzerLogFile-0-vwiRDgFJXr.data fuzzerLogFile-0-vwiRDgFJXr.data.yaml libpsl_fuzzer.covreport
libpsl_idn2_fuzzer fuzzerLogFile-0-oUqeYAe7Ng.data fuzzerLogFile-0-oUqeYAe7Ng.data.yaml libpsl_idn2_fuzzer.covreport
libpsl_idn2_load_dafsa_fuzzer fuzzerLogFile-0-vehXfrUkNp.data fuzzerLogFile-0-vehXfrUkNp.data.yaml libpsl_idn2_load_dafsa_fuzzer.covreport
libpsl_idn_fuzzer fuzzerLogFile-0-nQ07uEmH7q.data fuzzerLogFile-0-nQ07uEmH7q.data.yaml libpsl_idn_fuzzer.covreport
libpsl_load_dafsa_fuzzer fuzzerLogFile-0-LMC7MHBvsm.data fuzzerLogFile-0-LMC7MHBvsm.data.yaml libpsl_load_dafsa_fuzzer.covreport
libpsl_icu_load_dafsa_fuzzer fuzzerLogFile-0-5rP0KRJq6B.data fuzzerLogFile-0-5rP0KRJq6B.data.yaml libpsl_icu_load_dafsa_fuzzer.covreport
libpsl_icu_fuzzer fuzzerLogFile-0-Z2ityrTxbq.data fuzzerLogFile-0-Z2ityrTxbq.data.yaml libpsl_icu_fuzzer.covreport
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c fuzzerLogFile-0-kSRx11mU1f.data fuzzerLogFile-0-kSRx11mU1f.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_load_fuzzer.c fuzzerLogFile-0-leQ0QiYOox.data fuzzerLogFile-0-leQ0QiYOox.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c fuzzerLogFile-0-5hzDxv0f4O.data fuzzerLogFile-0-5hzDxv0f4O.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_fuzzer.c fuzzerLogFile-0-UgfjVEEwim.data fuzzerLogFile-0-UgfjVEEwim.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_load_fuzzer.c fuzzerLogFile-0-YixFOc9rbJ.data fuzzerLogFile-0-YixFOc9rbJ.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_fuzzer.c fuzzerLogFile-0-VLJ16FHgVC.data fuzzerLogFile-0-VLJ16FHgVC.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl_idn_load_dafsa_fuzzer fuzzerLogFile-0-5hUVOBVo3H.data fuzzerLogFile-0-5hUVOBVo3H.data.yaml libpsl_idn_load_dafsa_fuzzer.covreport
libpsl_idn2_load_fuzzer fuzzerLogFile-0-yiEN568qER.data fuzzerLogFile-0-yiEN568qER.data.yaml libpsl_idn2_load_fuzzer.covreport
libpsl/fuzz/libpsl_load_fuzzer.c fuzzerLogFile-0-n6yW3cCQQ0.data fuzzerLogFile-0-n6yW3cCQQ0.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_fuzzer.c fuzzerLogFile-0-g2jFIXF7bS.data fuzzerLogFile-0-g2jFIXF7bS.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl_icu_load_fuzzer fuzzerLogFile-0-Lh22kgQLvx.data fuzzerLogFile-0-Lh22kgQLvx.data.yaml libpsl_icu_load_fuzzer.covreport
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c fuzzerLogFile-0-nolAgR0vBP.data fuzzerLogFile-0-nolAgR0vBP.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_fuzzer.c fuzzerLogFile-0-ScpZD4O0AI.data fuzzerLogFile-0-ScpZD4O0AI.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_load_dafsa_fuzzer.c fuzzerLogFile-0-soaVdCNhfe.data fuzzerLogFile-0-soaVdCNhfe.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport
libpsl/fuzz/libpsl_load_fuzzer.c fuzzerLogFile-0-IZjCl6qGL6.data fuzzerLogFile-0-IZjCl6qGL6.data.yaml libpsl_icu_load_fuzzer.covreport , libpsl_load_dafsa_fuzzer.covreport , libpsl_icu_load_dafsa_fuzzer.covreport , libpsl_idn2_fuzzer.covreport , libpsl_fuzzer.covreport , libpsl_idn2_load_dafsa_fuzzer.covreport , libpsl_idn_load_fuzzer.covreport , libpsl_idn_fuzzer.covreport , libpsl_load_fuzzer.covreport , libpsl_idn2_load_fuzzer.covreport , libpsl_icu_fuzzer.covreport , libpsl_idn_load_dafsa_fuzzer.covreport