Fuzz introspector: ocsp_parse_ocsp_cert_id_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
2 2 1 :

['__errno_location']

2 6 ERR_put_error call site: 00069 /src/boringssl/crypto/err/err.cc:591
2 2 1 :

['abort']

2 2 CRYPTO_once call site: 00072 /src/boringssl/crypto/thread_pthread.cc:59
2 2 1 :

['abort']

2 2 bssl::Span ::operator[](unsignedlong)const call site: 00000 /src/boringssl/include/openssl/span.h:165
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 8 8 CRYPTO_set_thread_local call site: 00084 /src/boringssl/crypto/thread_pthread.cc:118
0 0 None 2 2 CRYPTO_get_thread_local call site: 00074 /src/boringssl/crypto/thread_pthread.cc:103
0 0 None 0 100 bssl::der::Parser::ReadConstructed(unsignedint,bssl::der::Parser*) call site: 00000 /src/boringssl/pki/parser.cc:123
0 0 None 0 61 cbs_get_asn1(cbs_st*,cbs_st*,unsignedint,int) call site: 00000 /src/boringssl/crypto/bytestring/cbs.cc:443
0 0 None 0 49 cbs_get_any_asn1_element(cbs_st*,cbs_st*,unsignedint*,unsignedlong*,int*,int*,int) call site: 00000 /src/boringssl/crypto/bytestring/cbs.cc:312
0 0 None 0 49 cbs_get_any_asn1_element(cbs_st*,cbs_st*,unsignedint*,unsignedlong*,int*,int*,int) call site: 00000 /src/boringssl/crypto/bytestring/cbs.cc:315
0 0 None 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:354

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::OCSPCertID::OCSPCertID() [function] [call site] 00003
2 bssl::der::Input::Input() [function] [call site] 00004
3 bssl::Span<unsigned char const>::Span() [function] [call site] 00005
4 bssl::Span<unsigned char const>::Span(unsigned char const*, unsigned long) [function] [call site] 00006
1 bssl::ParseOCSPCertID(bssl::der::Input, bssl::OCSPCertID*) [function] [call site] 00007
2 bssl::der::Parser::Parser(bssl::der::Input) [function] [call site] 00008
3 bssl::der::Input::data() const [function] [call site] 00009
4 bssl::Span<unsigned char const>::data() const [function] [call site] 00010
3 bssl::der::Input::size() const [function] [call site] 00011
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00012
2 bssl::der::Parser::Parser() [function] [call site] 00014
2 bssl::der::Parser::ReadSequence(bssl::der::Parser*) [function] [call site] 00016
3 bssl::der::Parser::ReadConstructed(unsigned int, bssl::der::Parser*) [function] [call site] 00017
4 bssl::der::Input::Input() [function] [call site] 00018
4 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00019
5 bssl::der::Input::Input() [function] [call site] 00020
5 bssl::der::Parser::PeekTagAndValue(unsigned int*, bssl::der::Input*) [function] [call site] 00021
6 CBS_get_any_asn1_element [function] [call site] 00022
7 cbs_get_any_asn1_element(cbs_st*, cbs_st*, unsigned int*, unsigned long*, int*, int*, int) [function] [call site] 00023
8 __assert_fail [call site] 00024
8 __assert_fail [call site] 00025
8 parse_asn1_tag(cbs_st*, unsigned int*) [function] [call site] 00026
9 CBS_get_u8 [function] [call site] 00027
10 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00028
9 parse_base128_integer(cbs_st*, unsigned long*) [function] [call site] 00029
10 CBS_get_u8 [function] [call site] 00030
8 CBS_get_u8 [function] [call site] 00031
8 CBS_get_bytes [function] [call site] 00033
9 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00034
8 cbs_get_u(cbs_st*, unsigned long*, unsigned long) [function] [call site] 00036
9 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00037
8 CBS_get_bytes [function] [call site] 00038
6 CBS_skip [function] [call site] 00039
7 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00040
6 bssl::der::Input::Input(unsigned char const*, unsigned long) [function] [call site] 00044
5 bssl::der::Parser::Advance() [function] [call site] 00045
5 abort [call site] 00047
4 bssl::der::Parser::Parser(bssl::der::Input) [function] [call site] 00048
2 bssl::der::Parser::HasMore() [function] [call site] 00049
2 bssl::der::Input::Input() [function] [call site] 00051
2 bssl::der::Parser::ReadRawTLV(bssl::der::Input*) [function] [call site] 00052
3 CBS_get_any_asn1_element [function] [call site] 00053
3 bssl::der::Input::Input(unsigned char const*, unsigned long) [function] [call site] 00056
2 bssl::ParseHashAlgorithm(bssl::der::Input, bssl::DigestAlgorithm*) [function] [call site] 00057
3 bssl::der::Input::data() const [function] [call site] 00058
3 bssl::der::Input::size() const [function] [call site] 00059
3 EVP_parse_digest_algorithm [function] [call site] 00061
4 CBS_get_asn1 [function] [call site] 00062
5 cbs_get_asn1(cbs_st*, cbs_st*, unsigned int, int) [function] [call site] 00063
6 CBS_get_any_asn1_element [function] [call site] 00064
6 __assert_fail [call site] 00066
4 CBS_get_asn1 [function] [call site] 00067
4 ERR_put_error [function] [call site] 00068
5 err_get_state() [function] [call site] 00069
6 CRYPTO_get_thread_local [function] [call site] 00070
7 CRYPTO_once [function] [call site] 00071
8 pthread_once [call site] 00072
8 abort [call site] 00073
7 thread_local_init() [function] [call site] 00074
8 pthread_key_create [call site] 00075
8 thread_local_destructor(void*) [function] [call site] 00076
9 pthread_mutex_lock [call site] 00077
9 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00078
9 pthread_mutex_unlock [call site] 00079
7 pthread_getspecific [call site] 00080
6 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00081
6 CRYPTO_set_thread_local [function] [call site] 00082
7 CRYPTO_once [function] [call site] 00083
7 thread_local_init() [function] [call site] 00084
7 pthread_getspecific [call site] 00085
7 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00086
7 pthread_setspecific [call site] 00087
7 pthread_mutex_lock [call site] 00088
7 pthread_mutex_unlock [call site] 00089
6 err_state_free(void*) [function] [call site] 00090
7 err_clear((anonymous namespace)::err_error_st*) [function] [call site] 00091
8 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00092
5 __errno_location [call site] 00093
5 err_clear((anonymous namespace)::err_error_st*) [function] [call site] 00094
4 cbs_to_md(cbs_st const*) [function] [call site] 00095
5 OPENSSL_memcmp(void const*, void const*, unsigned long) [function] [call site] 00098
6 memcmp [call site] 00099
5 EVP_get_digestbynid [function] [call site] 00100
4 ERR_put_error [function] [call site] 00101
4 CBS_get_asn1 [function] [call site] 00103
4 ERR_put_error [function] [call site] 00106
3 EVP_sha1 [function] [call site] 00107
4 EVP_sha1_once_bss_get() [function] [call site] 00108
4 CRYPTO_once [function] [call site] 00109
4 EVP_sha1_init() [function] [call site] 00110
5 EVP_sha1_storage_bss_get() [function] [call site] 00111
5 EVP_sha1_do_init(env_md_st*) [function] [call site] 00112
3 EVP_sha256 [function] [call site] 00113
4 EVP_sha256_once_bss_get() [function] [call site] 00114
4 CRYPTO_once [function] [call site] 00115
4 EVP_sha256_init() [function] [call site] 00116
5 EVP_sha256_storage_bss_get() [function] [call site] 00117
5 EVP_sha256_do_init(env_md_st*) [function] [call site] 00118
3 EVP_sha384 [function] [call site] 00119
4 EVP_sha384_once_bss_get() [function] [call site] 00120
4 CRYPTO_once [function] [call site] 00121
4 EVP_sha384_init() [function] [call site] 00122
5 EVP_sha384_storage_bss_get() [function] [call site] 00123
5 EVP_sha384_do_init(env_md_st*) [function] [call site] 00124
3 EVP_sha512 [function] [call site] 00125
4 EVP_sha512_once_bss_get() [function] [call site] 00126
4 CRYPTO_once [function] [call site] 00127
4 EVP_sha512_init() [function] [call site] 00128
5 EVP_sha512_storage_bss_get() [function] [call site] 00129
5 EVP_sha512_do_init(env_md_st*) [function] [call site] 00130
2 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00131
2 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00132
2 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00133
2 bssl::CertErrors::CertErrors() [function] [call site] 00134
2 bssl::VerifySerialNumber(bssl::der::Input, bool, bssl::CertErrors*) [function] [call site] 00135
3 bssl::der::IsValidInteger(bssl::der::Input, bool*) [function] [call site] 00136
4 bssl::der::Input::data() const [function] [call site] 00137
4 bssl::der::Input::size() const [function] [call site] 00138
4 CBS_is_valid_asn1_integer [function] [call site] 00140
5 CBS_get_u8 [function] [call site] 00141
5 CBS_get_u8 [function] [call site] 00142
3 bssl::CertErrors::Add(bssl::CertError::Severity, void const*, std::__1::unique_ptr<bssl::CertErrorParams, std::__1::default_delete<bssl::CertErrorParams> >) [function] [call site] 00143
3 bssl::CertErrors::AddWarning(void const*) [function] [call site] 00144
4 bssl::CertErrors::AddWarning(void const*, std::__1::unique_ptr<bssl::CertErrorParams, std::__1::default_delete<bssl::CertErrorParams> >) [function] [call site] 00145
5 bssl::CertErrors::Add(bssl::CertError::Severity, void const*, std::__1::unique_ptr<bssl::CertErrorParams, std::__1::default_delete<bssl::CertErrorParams> >) [function] [call site] 00146
3 bssl::der::Input::size() const [function] [call site] 00147
3 bssl::der::Input::operator[](unsigned long) const [function] [call site] 00148
4 bssl::Span<unsigned char const>::operator[](unsigned long) const [function] [call site] 00149
5 abort [call site] 00150
3 bssl::CertErrors::AddWarning(void const*) [function] [call site] 00151
3 bssl::der::Input::size() const [function] [call site] 00152
3 bssl::der::Input::size() const [function] [call site] 00153
3 bssl::CreateCertErrorParams1SizeT(char const*, unsigned long) [function] [call site] 00154
4 abort [call site] 00155
3 bssl::CertErrors::Add(bssl::CertError::Severity, void const*, std::__1::unique_ptr<bssl::CertErrorParams, std::__1::default_delete<bssl::CertErrorParams> >) [function] [call site] 00156
2 bssl::CertErrors::~CertErrors() [function] [call site] 00157
2 bssl::der::Parser::HasMore() [function] [call site] 00158
1 bssl::OCSPCertID::~OCSPCertID() [function] [call site] 00159