Fuzz introspector: x509_dn
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
11 11 1 :

['Botan::Invalid_State::Invalid_State(std::__1::basic_string_view >)']

17 17 Botan::BER_Decoder::end_cons() call site: 00000 /src/botan/src/lib/asn1/ber_dec.cpp:294
0 0 None 16 320 Botan::BER_Decoder::get_next_object() call site: 00000 /src/botan/src/lib/asn1/ber_dec.cpp:253
0 0 None 10 74 Botan::(anonymousnamespace)::decode_length(Botan::DataSource*,unsignedlong&,unsignedlong) call site: 00000 /src/botan/src/lib/asn1/ber_dec.cpp:98
0 0 None 8 8 Botan::allocate_memory(unsignedlong,unsignedlong) call site: 00000 /src/botan/src/lib/utils/mem_ops.cpp:27
0 0 4 :

['std::__1::basic_string_view >::operator[](unsigned long) const', 'std::__1::basic_ostream >& std::__1::operator<< >(std::__1::basic_ostream >&, char)', 'std::__1::basic_string_view >::size() const', 'std::__1::basic_string_view >::at(unsigned long) const']

0 9 voidBotan::fmt_detail::do_fmt >,unsignedint>(std::__1::basic_ostringstream ,std::__1::allocator >&,std::__1::basic_string_view >,std::__1::basic_string_view >const&,unsignedintconst&) call site: 00000 /src/botan/build/include/botan/internal/fmt.h:27
0 0 None 0 0 Botan::ASN1_String::ASN1_String(std::__1::basic_string_view >,Botan::ASN1_Type) call site: 00000 /src/botan/src/lib/asn1/asn1_str.cpp:63
0 0 None 0 0 Botan::(anonymousnamespace)::choose_encoding(std::__1::basic_string_view >) call site: 00000 /src/botan/src/lib/asn1/asn1_str.cpp:40

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fuzz(unsigned char const*, unsigned long) [function] [call site] 00001
2 Botan::X509_DN::X509_DN() [function] [call site] 00002
3 Botan::ASN1_Object::ASN1_Object() [function] [call site] 00003
2 Botan::X509_DN::X509_DN() [function] [call site] 00004
2 Botan::BER_Decoder::BER_Decoder(unsigned char const*, unsigned long) [function] [call site] 00005
3 Botan::BER_Object::BER_Object() [function] [call site] 00006
3 Botan::BER_Object::~BER_Object() [function] [call site] 00007
2 Botan::X509_DN::decode_from(Botan::BER_Decoder&) [function] [call site] 00008
3 Botan::BER_Decoder::start_sequence() [function] [call site] 00009
4 Botan::BER_Decoder::start_cons(Botan::ASN1_Type, Botan::ASN1_Class) [function] [call site] 00010
5 Botan::BER_Decoder::get_next_object() [function] [call site] 00011
6 Botan::BER_Object::BER_Object() [function] [call site] 00012
6 Botan::BER_Object::is_set() const [function] [call site] 00013
6 Botan::(anonymous namespace)::decode_tag(Botan::DataSource*, Botan::ASN1_Type&, Botan::ASN1_Class&) [function] [call site] 00014
7 Botan::DataSource::read_byte(unsigned char&) [function] [call site] 00015
7 Botan::DataSource::read_byte(unsigned char&) [function] [call site] 00016
7 __cxa_allocate_exception [call site] 00017
7 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00018
8 std::__1::basic_string , std::__1::allocator > Botan::fmt > >(std::__1::basic_string_view >, std::__1::basic_string_view > const&) [function] [call site] 00019
9 void Botan::fmt_detail::do_fmt >>(std::__1::basic_ostringstream , std::__1::allocator >&, std::__1::basic_string_view >, std::__1::basic_string_view > const&) [function] [call site] 00020
10 Botan::fmt_detail::do_fmt(std::__1::basic_ostringstream , std::__1::allocator >&, std::__1::basic_string_view >) [function] [call site] 00021
8 Botan::Decoding_Error::Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00022
9 Botan::Exception::Exception(std::__1::basic_string_view >) [function] [call site] 00023
10 std::exception::exception() [function] [call site] 00024
10 std::exception::~exception() [call site] 00025
7 Botan::Exception::~Exception() [function] [call site] 00026
8 std::exception::~exception() [call site] 00027
7 __cxa_allocate_exception [call site] 00028
7 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00029
7 Botan::Exception::~Exception() [function] [call site] 00030
7 __cxa_free_exception [call site] 00031
6 Botan::BER_Object::set_tagging(Botan::ASN1_Type, Botan::ASN1_Class) [function] [call site] 00032
6 Botan::BER_Object::is_set() const [function] [call site] 00033
6 Botan::(anonymous namespace)::decode_length(Botan::DataSource*, unsigned long&, unsigned long) [function] [call site] 00034
7 Botan::DataSource::read_byte(unsigned char&) [function] [call site] 00035
7 __cxa_allocate_exception [call site] 00036
7 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00037
7 Botan::Exception::~Exception() [function] [call site] 00038
7 __cxa_allocate_exception [call site] 00039
7 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00040
7 Botan::Exception::~Exception() [function] [call site] 00041
7 __cxa_allocate_exception [call site] 00042
7 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00043
7 Botan::Exception::~Exception() [function] [call site] 00044
7 Botan::(anonymous namespace)::find_eoc(Botan::DataSource*, unsigned long) [function] [call site] 00045
8 std::__1::vector >& Botan::operator+= , unsigned long>(std::__1::vector >&, std::__1::pair const&) [function] [call site] 00046
8 Botan::DataSource_Memory::DataSource_Memory(std::__1::vector >) [function] [call site] 00047
8 Botan::(anonymous namespace)::decode_tag(Botan::DataSource*, Botan::ASN1_Type&, Botan::ASN1_Class&) [function] [call site] 00048
8 Botan::(anonymous namespace)::decode_length(Botan::DataSource*, unsigned long&, unsigned long) [function] [call site] 00049
9 unsigned char Botan::get_byte<0ul, unsigned long>(unsigned long) [function] [call site] 00050
9 __cxa_allocate_exception [call site] 00051
9 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00052
9 Botan::Exception::~Exception() [function] [call site] 00053
9 Botan::DataSource::read_byte(unsigned char&) [function] [call site] 00054
9 __cxa_allocate_exception [call site] 00055
9 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00056
9 Botan::Exception::~Exception() [function] [call site] 00057
8 Botan::DataSource::discard_next(unsigned long) [function] [call site] 00058
8 Botan::checked_add(unsigned long, unsigned long, char const*, int) [function] [call site] 00059
9 __cxa_allocate_exception [call site] 00060
9 Botan::Integer_Overflow_Detected::Integer_Overflow_Detected(std::__1::basic_string_view >, int) [function] [call site] 00061
10 std::__1::basic_string , std::__1::allocator > Botan::fmt >, int>(std::__1::basic_string_view >, std::__1::basic_string_view > const&, int const&) [function] [call site] 00062
10 Botan::Exception::Exception(std::__1::basic_string_view >) [function] [call site] 00063
9 Botan::Exception::~Exception() [function] [call site] 00064
8 Botan::checked_add(unsigned long, unsigned long, char const*, int) [function] [call site] 00065
8 Botan::checked_add(unsigned long, unsigned long, char const*, int) [function] [call site] 00066
8 Botan::DataSource_Memory::~DataSource_Memory() [function] [call site] 00067
9 Botan::DataSource::~DataSource() [function] [call site] 00068
6 __cxa_allocate_exception [call site] 00069
6 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00070
6 Botan::BER_Object::mutable_bits(unsigned long) [function] [call site] 00071
6 __cxa_allocate_exception [call site] 00072
6 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00073
6 Botan::BER_Object::tagging() const [function] [call site] 00074
7 Botan::BER_Object::type_tag() const [function] [call site] 00075
6 Botan::BER_Object::~BER_Object() [function] [call site] 00076
5 Botan::operator|(Botan::ASN1_Class, Botan::ASN1_Class) [function] [call site] 00077
5 Botan::BER_Object::assert_is_a(Botan::ASN1_Type, Botan::ASN1_Class, std::__1::basic_string_view >) const [function] [call site] 00078
6 Botan::BER_Object::is_a(Botan::ASN1_Type, Botan::ASN1_Class) const [function] [call site] 00079
6 Botan::asn1_tag_to_string(Botan::ASN1_Type) [function] [call site] 00080
6 Botan::asn1_class_to_string(Botan::ASN1_Class) [function] [call site] 00081
6 Botan::asn1_class_to_string(Botan::ASN1_Class) [function] [call site] 00082
6 __cxa_allocate_exception [call site] 00083
6 Botan::BER_Decoding_Error::BER_Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00084
5 Botan::BER_Decoder::BER_Decoder(Botan::BER_Object&&, Botan::BER_Decoder*) [function] [call site] 00085
6 Botan::BER_Object::BER_Object() [function] [call site] 00086
6 Botan::BER_Object::~BER_Object() [function] [call site] 00087
5 Botan::BER_Object::~BER_Object() [function] [call site] 00088
3 Botan::BER_Decoder::end_cons() [function] [call site] 00089
4 __cxa_allocate_exception [call site] 00090
4 Botan::Invalid_State::Invalid_State(std::__1::basic_string_view >) [function] [call site] 00091
5 Botan::Exception::Exception(std::__1::basic_string_view >) [function] [call site] 00092
4 __cxa_allocate_exception [call site] 00093
4 Botan::Decoding_Error::Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00094
4 Botan::Exception::~Exception() [function] [call site] 00095
3 Botan::BER_Decoder::BER_Decoder(std::__1::vector > const&) [function] [call site] 00096
4 Botan::BER_Object::BER_Object() [function] [call site] 00097
4 Botan::BER_Object::~BER_Object() [function] [call site] 00098
3 Botan::BER_Decoder::more_items() const [function] [call site] 00099
4 Botan::BER_Object::is_set() const [function] [call site] 00100
3 Botan::BER_Decoder::start_set() [function] [call site] 00101
4 Botan::BER_Decoder::start_cons(Botan::ASN1_Type, Botan::ASN1_Class) [function] [call site] 00102
3 Botan::BER_Decoder::more_items() const [function] [call site] 00103
3 Botan::OID::OID() [function] [call site] 00104
4 Botan::ASN1_Object::ASN1_Object() [function] [call site] 00105
3 Botan::ASN1_String::ASN1_String(std::__1::basic_string_view >) [function] [call site] 00106
4 Botan::(anonymous namespace)::choose_encoding(std::__1::basic_string_view >) [function] [call site] 00107
5 Botan::CT::Mask ::set() [function] [call site] 00108
6 Botan::CT::Mask ::Mask(unsigned char) [function] [call site] 00109
5 Botan::CT::Mask ::is_set() const [function] [call site] 00110
6 Botan::CT::Mask ::unpoisoned_value() const [function] [call site] 00111
7 Botan::CT::Mask ::value() const [function] [call site] 00112
7 void Botan::CT::unpoison (unsigned char&) [function] [call site] 00113
8 void Botan::ignore_params (unsigned char&) [function] [call site] 00114
9 void Botan::ignore_param (unsigned char&) [function] [call site] 00115
5 Botan::CT::Mask ::is_within_range(unsigned char, unsigned char, unsigned char) [function] [call site] 00116
6 unsigned char Botan::expand_top_bit (unsigned char) [function] [call site] 00117
6 Botan::CT::Mask ::Mask(unsigned char) [function] [call site] 00118
5 Botan::CT::Mask ::is_within_range(unsigned char, unsigned char, unsigned char) [function] [call site] 00119
5 Botan::CT::Mask ::is_within_range(unsigned char, unsigned char, unsigned char) [function] [call site] 00120
5 Botan::CT::Mask ::is_any_of(unsigned char, std::initializer_list ) [function] [call site] 00121
6 unsigned char Botan::expand_top_bit (unsigned char) [function] [call site] 00122
6 Botan::CT::Mask ::Mask(unsigned char) [function] [call site] 00123
5 Botan::CT::operator|(Botan::CT::Mask , Botan::CT::Mask ) [function] [call site] 00124
6 Botan::CT::Mask ::value() const [function] [call site] 00125
5 Botan::CT::Mask ::operator&=(Botan::CT::Mask ) [function] [call site] 00126
6 Botan::CT::Mask ::value() const [function] [call site] 00127
3 Botan::BER_Decoder::start_sequence() [function] [call site] 00128
3 Botan::BER_Decoder::decode(Botan::ASN1_Object&, Botan::ASN1_Type, Botan::ASN1_Class) [function] [call site] 00129
3 Botan::BER_Decoder::decode(Botan::ASN1_Object&, Botan::ASN1_Type, Botan::ASN1_Class) [function] [call site] 00130
3 Botan::BER_Decoder::end_cons() [function] [call site] 00131
3 Botan::X509_DN::add_attribute(Botan::OID const&, Botan::ASN1_String const&) [function] [call site] 00132
4 Botan::ASN1_String::empty() const [function] [call site] 00133
3 Botan::ASN1_String::~ASN1_String() [function] [call site] 00134
4 Botan::ASN1_Object::~ASN1_Object() [function] [call site] 00135
3 Botan::BER_Decoder::~BER_Decoder() [function] [call site] 00136
4 Botan::BER_Object::~BER_Object() [function] [call site] 00137
3 Botan::BER_Decoder::~BER_Decoder() [function] [call site] 00138
2 Botan::X509_DN::decode_from(Botan::BER_Decoder&) [function] [call site] 00139
2 Botan::BER_Decoder::~BER_Decoder() [function] [call site] 00140
2 Botan::operator==(Botan::X509_DN const&, Botan::X509_DN const&) [function] [call site] 00141
3 Botan::X509_DN::get_attributes() const [function] [call site] 00142
4 Botan::ASN1_String::value() const [function] [call site] 00143
4 void Botan::multimap_insert , std::__1::allocator > >(std::__1::multimap , std::__1::allocator >, std::__1::less , std::__1::allocator , std::__1::allocator > > > >&, Botan::OID const&, std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00144
3 Botan::X509_DN::get_attributes() const [function] [call site] 00145
3 Botan::operator!=(Botan::OID const&, Botan::OID const&) [function] [call site] 00146
3 Botan::(anonymous namespace)::x500_name_cmp(std::__1::basic_string_view >, std::__1::basic_string_view >) [function] [call site] 00147
4 Botan::(anonymous namespace)::(anonymous namespace)::is_space(char) [function] [call site] 00148
5 isspace [function] [call site] 00149
6 __ctype_b_loc [call site] 00150
4 Botan::(anonymous namespace)::(anonymous namespace)::is_space(char) [function] [call site] 00151
4 Botan::(anonymous namespace)::(anonymous namespace)::is_space(char) [function] [call site] 00152
4 Botan::(anonymous namespace)::(anonymous namespace)::is_space(char) [function] [call site] 00153
4 Botan::(anonymous namespace)::(anonymous namespace)::is_space(char) [function] [call site] 00154
4 Botan::(anonymous namespace)::(anonymous namespace)::is_space(char) [function] [call site] 00155
4 Botan::(anonymous namespace)::(anonymous namespace)::caseless_cmp(char, char) [function] [call site] 00156
5 tolower [function] [call site] 00157
6 __ctype_tolower_loc [call site] 00158
4 Botan::(anonymous namespace)::(anonymous namespace)::is_space(char) [function] [call site] 00159
4 Botan::(anonymous namespace)::(anonymous namespace)::is_space(char) [function] [call site] 00160
2 __cxa_begin_catch [call site] 00161
2 __cxa_end_catch [call site] 00162
2 Botan::operator<(Botan::X509_DN const&, Botan::X509_DN const&) [function] [call site] 00163
3 Botan::X509_DN::get_attributes() const [function] [call site] 00164
3 Botan::X509_DN::get_attributes() const [function] [call site] 00165
3 Botan::operator!=(Botan::OID const&, Botan::OID const&) [function] [call site] 00166
3 Botan::operator<(Botan::OID const&, Botan::OID const&) [function] [call site] 00167
4 Botan::OID::get_components() const [function] [call site] 00168
4 Botan::OID::get_components() const [function] [call site] 00169
3 Botan::assertion_failure(char const*, char const*, char const*, char const*, int) [function] [call site] 00170
4 __cxa_allocate_exception [call site] 00171
4 Botan::Internal_Error::Internal_Error(std::__1::basic_string_view >) [function] [call site] 00172
5 Botan::Exception::Exception(char const*, std::__1::basic_string_view >) [function] [call site] 00173
6 std::exception::exception() [function] [call site] 00174
6 std::__1::basic_string , std::__1::allocator > Botan::fmt > >(std::__1::basic_string_view >, char const* const&, std::__1::basic_string_view > const&) [function] [call site] 00175
3 Botan::(anonymous namespace)::x500_name_cmp(std::__1::basic_string_view >, std::__1::basic_string_view >) [function] [call site] 00176
2 Botan::operator<(Botan::X509_DN const&, Botan::X509_DN const&) [function] [call site] 00177
2 abort [call site] 00178
2 abort [call site] 00179
2 abort [call site] 00180
2 Botan::X509_DN::~X509_DN() [function] [call site] 00181
3 Botan::ASN1_Object::~ASN1_Object() [function] [call site] 00182