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

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 78 LLVMFuzzerTestOneInput call site: 00078 printf
2 81 LLVMFuzzerTestOneInput call site: 00081 printf
2 87 LLVMFuzzerTestOneInput call site: 00087 printf
1 27 ada::idna::find_direction(unsigned int) call site: 00027 __cxa_begin_catch

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 ada::idna::to_ascii(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00001
2 ada::idna::is_ascii(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00002
2 ada::idna::from_ascii_to_ascii(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00003
3 ada::idna::ascii_map(char*, unsigned long) [function] [call site] 00004
4 ada::idna::ascii_map(char*, unsigned long)::$_0::operator()(unsigned char) const [function] [call site] 00005
4 ada::idna::ascii_map(char*, unsigned long)::$_0::operator()(unsigned char) const [function] [call site] 00006
4 ada::idna::ascii_map(char*, unsigned long)::$_0::operator()(unsigned char) const [function] [call site] 00007
3 ada::idna::punycode_to_utf32(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00008
4 ada::idna::char_to_digit_value(char) [function] [call site] 00009
4 ada::idna::adapt(int, int, bool) [function] [call site] 00010
3 ada::idna::is_ascii(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00011
3 ada::idna::map(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00012
4 ada::idna::idna_lookup(unsigned int) [function] [call site] 00013
4 ada::idna::utf8_next(unsigned char const*&) [function] [call site] 00014
3 ada::idna::normalize(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00015
4 ada::idna::decompose_nfc(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00016
5 ada::idna::compute_decomposition_length(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00017
5 ada::idna::decompose(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&, unsigned long) [function] [call site] 00018
5 ada::idna::sort_marks(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00019
6 ada::idna::get_ccc(char32_t) [function] [call site] 00020
6 ada::idna::get_ccc(char32_t) [function] [call site] 00021
4 ada::idna::compose(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00022
5 ada::idna::get_ccc(char32_t) [function] [call site] 00023
3 ada::idna::is_label_valid(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00024
4 ada::idna::find_last_not_of_nsm(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00025
5 ada::idna::find_direction(unsigned int) [function] [call site] 00026
6 __clang_call_terminate [call site] 00027
7 __cxa_begin_catch [call site] 00028
4 ada::idna::is_rtl_label(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00029
5 ada::idna::find_direction(unsigned int) [function] [call site] 00030
4 ada::idna::find_direction(unsigned int) [function] [call site] 00031
4 ada::idna::find_direction(unsigned int) [function] [call site] 00032
4 ada::idna::find_direction(unsigned int) [function] [call site] 00033
2 ada::idna::utf32_length_from_utf8(char const*, unsigned long) [function] [call site] 00034
2 ada::idna::utf8_to_utf32(char const*, unsigned long, char32_t*) [function] [call site] 00035
2 ada::idna::map(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00036
2 ada::idna::normalize(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00037
2 ada::idna::punycode_to_utf32(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00038
2 ada::idna::is_ascii(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00039
2 ada::idna::map(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00040
2 ada::idna::normalize(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00041
2 ada::idna::is_label_valid(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00042
2 ada::idna::is_ascii(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00043
2 ada::idna::is_label_valid(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00044
2 ada::idna::utf32_to_punycode(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) [function] [call site] 00045
3 ada::idna::digit_to_char(int) [function] [call site] 00046
3 ada::idna::digit_to_char(int) [function] [call site] 00047
3 ada::idna::adapt(int, int, bool) [function] [call site] 00048
1 ada::idna::to_unicode(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00049
2 ada::idna::is_ascii(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00050
2 ada::idna::punycode_to_utf32(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00051
2 ada::idna::utf8_length_from_utf32(char32_t const*, unsigned long) [function] [call site] 00052
2 ada::idna::utf32_to_utf8(char32_t const*, unsigned long, char*) [function] [call site] 00053
1 ada::idna::to_unicode(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00054
1 ada::idna::punycode_to_utf32(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00055
1 ada::idna::verify_punycode(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00056
2 ada::idna::char_to_digit_value(char) [function] [call site] 00057
2 ada::idna::adapt(int, int, bool) [function] [call site] 00058
1 ada::idna::utf32_to_punycode(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) [function] [call site] 00059
1 ada::idna::utf32_length_from_utf8(char const*, unsigned long) [function] [call site] 00060
1 ada::idna::utf8_to_utf32(char const*, unsigned long, char32_t*) [function] [call site] 00061
1 ada::idna::utf8_length_from_utf32(char32_t const*, unsigned long) [function] [call site] 00062
1 ada::idna::utf32_to_utf8(char32_t const*, unsigned long, char*) [function] [call site] 00063
1 ada::idna::punycode_to_utf32(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00064
1 ada::idna::is_label_valid(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00065
1 ada::idna::is_label_valid(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00066
1 ada::idna::ascii_map(char*, unsigned long) [function] [call site] 00067
1 ada::idna::utf32_length_from_utf8(char const*, unsigned long) [function] [call site] 00068
1 ada::idna::utf8_to_utf32(char const*, unsigned long, char32_t*) [function] [call site] 00069
1 ada::idna::map(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >) [function] [call site] 00070
2 ada::idna::map(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00071
1 ada::idna::contains_forbidden_domain_code_point(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00072
2 ada::idna::is_forbidden_domain_code_point(char) [function] [call site] 00073
1 ada::idna::is_ascii(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00074
1 ada::idna::utf32_length_from_utf8(char const*, unsigned long) [function] [call site] 00075
1 ada::idna::utf8_to_utf32(char const*, unsigned long, char32_t*) [function] [call site] 00076
1 ada::idna::normalize(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00077
1 ada::idna::to_ascii(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00078
1 printf [call site] 00079
1 abort [call site] 00080
1 ada::idna::to_unicode(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00081
1 printf [call site] 00082
1 abort [call site] 00083
1 ada::idna::to_ascii(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00084
1 ada::idna::punycode_to_utf32(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00085
1 ada::idna::utf32_to_punycode(std::__1::basic_string_view<char32_t, std::__1::char_traits<char32_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) [function] [call site] 00086
1 ada::idna::punycode_to_utf32(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> >&) [function] [call site] 00087
1 printf [call site] 00088
1 abort [call site] 00089