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

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
62 62 2 :

['ERR_put_error', 'cbb_on_error(cbb_st*)']

62 62 CBB_flush call site: 00110 /src/boringssl/crypto/bytestring/cbb.cc:258
58 58 1 :

['ERR_put_error']

58 58 OPENSSL_malloc call site: 00022 /src/boringssl/crypto/mem.cc:206
4 4 1 :

['cbb_on_error(cbb_st*)']

4 4 cbb_add_u(cbb_st*,unsignedlong,unsignedlong) call site: 00000 /src/boringssl/crypto/bytestring/cbb.cc:441
2 2 1 :

['OPENSSL_memory_alloc']

60 60 OPENSSL_malloc call site: 00019 /src/boringssl/crypto/mem.cc:191
2 2 1 :

['OPENSSL_memory_get_size']

2 88 OPENSSL_realloc call site: 00118 /src/boringssl/crypto/mem.cc:273
2 2 1 :

['OPENSSL_memory_free']

2 2 OPENSSL_free call site: 00123 /src/boringssl/crypto/mem.cc:243
0 7 1 :

['CBS_get_bytes']

0 7 cbs_get_any_asn1_element(cbs_st*,cbs_st*,unsignedint*,unsignedlong*,int*,int*,int) call site: 00000 /src/boringssl/crypto/bytestring/cbs.cc:379
0 7 1 :

['CBS_get_bytes']

0 7 cbs_get_any_asn1_element(cbs_st*,cbs_st*,unsignedint*,unsignedlong*,int*,int*,int) call site: 00000 /src/boringssl/crypto/bytestring/cbs.cc:387
0 0 None 62 169 CBB_flush call site: 00110 /src/boringssl/crypto/bytestring/cbb.cc:223
0 0 None 62 169 CBB_flush call site: 00110 /src/boringssl/crypto/bytestring/cbb.cc:226
0 0 None 62 64 CBB_flush call site: 00110 /src/boringssl/crypto/bytestring/cbb.cc:244
0 0 None 62 62 CBB_flush call site: 00110 /src/boringssl/crypto/bytestring/cbb.cc:219

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 bssl::der::Input::Input(unsigned char const*, unsigned long) [function] [call site] 00001
2 bssl::Span<unsigned char const>::Span(unsigned char const*, unsigned long) [function] [call site] 00002
1 bssl::CertErrors::CertErrors() [function] [call site] 00003
1 bssl::NormalizeName(bssl::der::Input, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bssl::CertErrors*) [function] [call site] 00004
2 abort [call site] 00005
2 bssl::der::Parser::Parser(bssl::der::Input) [function] [call site] 00006
3 bssl::der::Input::data() const [function] [call site] 00007
4 bssl::Span<unsigned char const>::data() const [function] [call site] 00008
3 bssl::der::Input::size() const [function] [call site] 00009
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00010
2 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::StackAllocated() [function] [call site] 00012
3 CBB_zero [function] [call site] 00013
4 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00014
2 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00015
2 CBB_init [function] [call site] 00016
3 OPENSSL_malloc [function] [call site] 00018
4 should_fail_allocation() [function] [call site] 00019
4 __assert_fail [call site] 00020
4 __assert_fail [call site] 00021
4 OPENSSL_memory_alloc [call site] 00022
4 __asan_poison_memory_region(void const*, unsigned long) [function] [call site] 00023
4 ERR_put_error [function] [call site] 00024
5 err_get_state() [function] [call site] 00025
6 CRYPTO_get_thread_local [function] [call site] 00026
7 CRYPTO_once [function] [call site] 00027
8 pthread_once [call site] 00028
8 abort [call site] 00029
7 thread_local_init() [function] [call site] 00030
8 pthread_key_create [call site] 00031
8 thread_local_destructor(void*) [function] [call site] 00032
9 pthread_mutex_lock [call site] 00033
9 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00034
9 pthread_mutex_unlock [call site] 00035
7 pthread_getspecific [call site] 00036
6 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00037
6 CRYPTO_set_thread_local [function] [call site] 00038
7 CRYPTO_once [function] [call site] 00039
7 thread_local_init() [function] [call site] 00040
7 pthread_getspecific [call site] 00041
7 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00042
7 pthread_setspecific [call site] 00043
7 pthread_mutex_lock [call site] 00044
7 pthread_mutex_unlock [call site] 00045
6 err_state_free(void*) [function] [call site] 00046
7 err_clear((anonymous namespace)::err_error_st*) [function] [call site] 00047
8 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00048
5 __errno_location [call site] 00049
5 err_clear((anonymous namespace)::err_error_st*) [function] [call site] 00050
3 cbb_init(cbb_st*, unsigned char*, unsigned long, int) [function] [call site] 00051
2 bssl::der::Parser::HasMore() [function] [call site] 00052
2 bssl::der::Parser::Parser() [function] [call site] 00054
2 bssl::der::Parser::ReadConstructed(unsigned int, bssl::der::Parser*) [function] [call site] 00056
3 bssl::der::Input::Input() [function] [call site] 00057
4 bssl::Span<unsigned char const>::Span() [function] [call site] 00058
5 bssl::Span<unsigned char const>::Span(unsigned char const*, unsigned long) [function] [call site] 00059
3 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00060
4 bssl::der::Input::Input() [function] [call site] 00061
4 bssl::der::Parser::PeekTagAndValue(unsigned int*, bssl::der::Input*) [function] [call site] 00062
5 CBS_get_any_asn1_element [function] [call site] 00063
6 cbs_get_any_asn1_element(cbs_st*, cbs_st*, unsigned int*, unsigned long*, int*, int*, int) [function] [call site] 00064
7 __assert_fail [call site] 00065
7 __assert_fail [call site] 00066
7 parse_asn1_tag(cbs_st*, unsigned int*) [function] [call site] 00067
8 CBS_get_u8 [function] [call site] 00068
9 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00069
8 parse_base128_integer(cbs_st*, unsigned long*) [function] [call site] 00070
9 CBS_get_u8 [function] [call site] 00071
7 CBS_get_u8 [function] [call site] 00072
7 CBS_get_bytes [function] [call site] 00074
8 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00075
7 cbs_get_u(cbs_st*, unsigned long*, unsigned long) [function] [call site] 00077
8 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00078
7 CBS_get_bytes [function] [call site] 00079
5 CBS_skip [function] [call site] 00080
6 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00081
5 bssl::der::Input::Input(unsigned char const*, unsigned long) [function] [call site] 00085
4 bssl::der::Parser::Advance() [function] [call site] 00086
4 abort [call site] 00088
3 bssl::der::Parser::Parser(bssl::der::Input) [function] [call site] 00089
2 bssl::ReadRdn(bssl::der::Parser*, std::__1::vector<bssl::X509NameAttribute, std::__1::allocator<bssl::X509NameAttribute> >*) [function] [call site] 00090
3 bssl::der::Parser::HasMore() [function] [call site] 00091
3 bssl::der::Parser::Parser() [function] [call site] 00092
3 bssl::der::Parser::ReadSequence(bssl::der::Parser*) [function] [call site] 00093
4 bssl::der::Parser::ReadConstructed(unsigned int, bssl::der::Parser*) [function] [call site] 00094
3 bssl::der::Input::Input() [function] [call site] 00095
3 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00096
3 bssl::der::Input::Input() [function] [call site] 00097
3 bssl::der::Parser::ReadTagAndValue(unsigned int*, bssl::der::Input*) [function] [call site] 00098
4 bssl::der::Parser::PeekTagAndValue(unsigned int*, bssl::der::Input*) [function] [call site] 00099
4 bssl::der::Parser::Advance() [function] [call site] 00100
4 abort [call site] 00101
3 bssl::der::Parser::HasMore() [function] [call site] 00102
3 bssl::X509NameAttribute::X509NameAttribute(bssl::der::Input, unsigned int, bssl::der::Input) [function] [call site] 00103
2 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00104
2 CBB_add_asn1 [function] [call site] 00105
3 CBB_flush [function] [call site] 00106
4 cbb_get_base(cbb_st*) [function] [call site] 00107
4 __assert_fail [call site] 00108
4 __assert_fail [call site] 00109
4 CBB_flush [function] [call site] 00110
5 __assert_fail [call site] 00111
5 ERR_put_error [function] [call site] 00112
5 cbb_buffer_add(cbb_buffer_st*, unsigned char**, unsigned long) [function] [call site] 00113
6 cbb_buffer_reserve(cbb_buffer_st*, unsigned char**, unsigned long) [function] [call site] 00114
7 ERR_put_error [function] [call site] 00115
7 ERR_put_error [function] [call site] 00116
7 OPENSSL_realloc [function] [call site] 00117
8 OPENSSL_malloc [function] [call site] 00118
8 OPENSSL_memory_get_size [call site] 00119
8 __asan_unpoison_memory_region(void const*, unsigned long) [function] [call site] 00120
8 __asan_poison_memory_region(void const*, unsigned long) [function] [call site] 00121
8 OPENSSL_malloc [function] [call site] 00122
8 OPENSSL_free [function] [call site] 00123
9 OPENSSL_memory_free [call site] 00124
9 __asan_unpoison_memory_region(void const*, unsigned long) [function] [call site] 00125
9 OPENSSL_cleanse [function] [call site] 00126
10 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00127
5 OPENSSL_memmove(void*, void const*, unsigned long) [function] [call site] 00128
5 ERR_put_error [function] [call site] 00129
5 cbb_on_error(cbb_st*) [function] [call site] 00130
6 cbb_get_base(cbb_st*) [function] [call site] 00131
3 CBB_add_u8 [function] [call site] 00132
4 cbb_add_u(cbb_st*, unsigned long, unsigned long) [function] [call site] 00133
5 CBB_add_space [function] [call site] 00134
6 CBB_flush [function] [call site] 00135
6 cbb_get_base(cbb_st*) [function] [call site] 00136
6 cbb_buffer_add(cbb_buffer_st*, unsigned char**, unsigned long) [function] [call site] 00137
5 cbb_on_error(cbb_st*) [function] [call site] 00138
3 add_base128_integer(cbb_st*, unsigned long) [function] [call site] 00139
4 CBB_add_u8 [function] [call site] 00140
3 CBB_add_u8 [function] [call site] 00141
3 cbb_add_child(cbb_st*, cbb_st*, unsigned char, int) [function] [call site] 00142
4 __assert_fail [call site] 00143
4 __assert_fail [call site] 00144
4 cbb_get_base(cbb_st*) [function] [call site] 00145
4 cbb_buffer_add(cbb_buffer_st*, unsigned char**, unsigned long) [function] [call site] 00146
4 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00147
2 CBB_add_asn1 [function] [call site] 00149
2 CBB_add_asn1 [function] [call site] 00150
2 bssl::der::Input::data() const [function] [call site] 00151
2 bssl::der::Input::size() const [function] [call site] 00152
2 CBB_add_bytes [function] [call site] 00153
3 CBB_add_space [function] [call site] 00154
3 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00155
2 bssl::(anonymous namespace)::IsNormalizableDirectoryString(unsigned int) [function] [call site] 00156
2 bssl::(anonymous namespace)::NormalizeValue(bssl::X509NameAttribute, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bssl::CertErrors*) [function] [call site] 00157
3 abort [call site] 00158
3 bssl::X509NameAttribute::ValueAsStringUnsafe(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const [function] [call site] 00159
4 bssl::Span<unsigned char const>::Span<bssl::der::Input, void, bssl::der::Input>(bssl::der::Input const&) [function] [call site] 00160
5 bssl::der::Input::data() const [function] [call site] 00161
5 bssl::der::Input::size() const [function] [call site] 00162
4 bssl::BytesAsStringView(bssl::Span<unsigned char const>) [function] [call site] 00163
5 bssl::Span<unsigned char const>::data() const [function] [call site] 00164
5 bssl::Span<unsigned char const>::size() const [function] [call site] 00165
4 bssl::der::ParseUniversalString(bssl::der::Input, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00166
5 bssl::der::Input::size() const [function] [call site] 00167
5 bssl::der::Input::data() const [function] [call site] 00168
5 bssl::der::Input::size() const [function] [call site] 00169
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::StackAllocated() [function] [call site] 00171
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00172
5 bssl::der::Input::size() const [function] [call site] 00173
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::~StackAllocated() [function] [call site] 00175
6 CBB_cleanup [function] [call site] 00176
7 __assert_fail [call site] 00177
7 OPENSSL_free [function] [call site] 00178
6 __clang_call_terminate [call site] 00179
7 __cxa_begin_catch [call site] 00180
5 CBS_get_utf32_be [function] [call site] 00182
6 CBS_get_u32 [function] [call site] 00183
7 cbs_get_u(cbs_st*, unsigned long*, unsigned long) [function] [call site] 00184
6 is_valid_code_point(unsigned int) [function] [call site] 00185
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00186
5 CBB_add_utf8 [function] [call site] 00187
6 is_valid_code_point(unsigned int) [function] [call site] 00188
6 CBB_add_u8 [function] [call site] 00189
6 CBB_add_u8 [function] [call site] 00190
6 CBB_add_u8 [function] [call site] 00191
6 CBB_add_u8 [function] [call site] 00192
6 CBB_add_u8 [function] [call site] 00193
6 CBB_add_u8 [function] [call site] 00194
6 CBB_add_u8 [function] [call site] 00195
6 CBB_add_u8 [function] [call site] 00196
6 CBB_add_u8 [function] [call site] 00197
6 CBB_add_u8 [function] [call site] 00198
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00199
5 CBB_data [function] [call site] 00200
6 __assert_fail [call site] 00201
5 CBB_len [function] [call site] 00202
6 __assert_fail [call site] 00203
6 __assert_fail [call site] 00204
4 bssl::der::ParseBmpString(bssl::der::Input, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00205
5 bssl::der::Input::size() const [function] [call site] 00206
5 bssl::der::Input::data() const [function] [call site] 00207
5 bssl::der::Input::size() const [function] [call site] 00208
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::StackAllocated() [function] [call site] 00210
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00211
5 bssl::der::Input::size() const [function] [call site] 00212
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::~StackAllocated() [function] [call site] 00214
5 CBS_get_ucs2_be [function] [call site] 00216
6 CBS_get_u16 [function] [call site] 00217
7 cbs_get_u(cbs_st*, unsigned long*, unsigned long) [function] [call site] 00218
6 is_valid_code_point(unsigned int) [function] [call site] 00219
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00220
5 CBB_add_utf8 [function] [call site] 00221
5 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00222
4 __assert_fail [call site] 00225
3 bssl::CreateCertErrorParams1SizeT(char const*, unsigned long) [function] [call site] 00226
4 abort [call site] 00227
3 bssl::CertErrors::AddError(void const*, std::__1::unique_ptr<bssl::CertErrorParams, std::__1::default_delete<bssl::CertErrorParams> >) [function] [call site] 00228
4 bssl::CertErrors::Add(bssl::CertError::Severity, void const*, std::__1::unique_ptr<bssl::CertErrorParams, std::__1::default_delete<bssl::CertErrorParams> >) [function] [call site] 00229
3 bssl::(anonymous namespace)::NormalizeDirectoryString(bssl::(anonymous namespace)::CharsetEnforcement, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00230
3 bssl::(anonymous namespace)::NormalizeDirectoryString(bssl::(anonymous namespace)::CharsetEnforcement, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00231
3 bssl::(anonymous namespace)::NormalizeDirectoryString(bssl::(anonymous namespace)::CharsetEnforcement, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00232
3 bssl::CreateCertErrorParams1SizeT(char const*, unsigned long) [function] [call site] 00233
3 bssl::CertErrors::AddError(void const*, std::__1::unique_ptr<bssl::CertErrorParams, std::__1::default_delete<bssl::CertErrorParams> >) [function] [call site] 00234
2 CBB_add_asn1 [function] [call site] 00235
2 CBB_add_bytes [function] [call site] 00236
2 CBB_add_asn1 [function] [call site] 00237
2 bssl::der::Input::data() const [function] [call site] 00238
2 bssl::der::Input::size() const [function] [call site] 00239
2 CBB_add_bytes [function] [call site] 00240
2 CBB_flush [function] [call site] 00241
2 CBB_flush_asn1_set_of [function] [call site] 00242
3 CBB_flush [function] [call site] 00243
3 CBS_get_any_asn1_element [function] [call site] 00248
3 ERR_put_error [function] [call site] 00249
3 OPENSSL_memdup [function] [call site] 00252
4 OPENSSL_malloc [function] [call site] 00253
4 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00254
3 OPENSSL_calloc [function] [call site] 00255
4 ERR_put_error [function] [call site] 00256
4 OPENSSL_zalloc [function] [call site] 00257
5 OPENSSL_malloc [function] [call site] 00258
5 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00259
3 CBS_get_any_asn1_element [function] [call site] 00261
3 qsort [call site] 00262
3 compare_set_of_element(void const*, void const*) [function] [call site] 00263
4 OPENSSL_memcmp(void const*, void const*, unsigned long) [function] [call site] 00266
5 memcmp [call site] 00267
3 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00271
3 __assert_fail [call site] 00273
3 OPENSSL_free [function] [call site] 00274
3 OPENSSL_free [function] [call site] 00275
2 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00276
2 CBB_flush [function] [call site] 00277
2 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00278
2 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::get() [function] [call site] 00280
2 bssl::internal::StackAllocated<cbb_st, void, &CBB_zero, &CBB_cleanup>::~StackAllocated() [function] [call site] 00283
1 bssl::der::Input::Input(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00284
2 bssl::StringAsBytes(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00285
3 bssl::Span<unsigned char const> bssl::MakeConstSpan<unsigned char const>(unsigned char const*, unsigned long) [function] [call site] 00286
4 bssl::Span<unsigned char const>::Span(unsigned char const*, unsigned long) [function] [call site] 00287
1 bssl::NormalizeName(bssl::der::Input, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bssl::CertErrors*) [function] [call site] 00288
1 abort [call site] 00289
1 abort [call site] 00290
1 bssl::CertErrors::~CertErrors() [function] [call site] 00291