Fuzz introspector: crl_getcrlstatusforcert_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
153 153 5 :

['sha256_block_data_order_avx', 'sha256_ssse3_capable', 'sha256_avx_capable', 'sha256_block_data_order_ssse3', 'sha256_block_data_order_nohw']

153 153 sha256_block_data_order(unsignedint*,unsignedcharconst*,unsignedlong) call site: 00000 /src/boringssl/crypto/fipsmodule/sha/sha256.cc.inc:267
2 2 1 :

['abort']

2 2 CRYPTO_once call site: 00023 /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
2 2 1 :

['abort']

2 2 bssl::Span ::subspan(unsignedlong,unsignedlong)const call site: 00000 /src/boringssl/include/openssl/span.h:173
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 23 27 OPENSSL_cpuid_setup call site: 00028 /src/boringssl/crypto/cpu_intel.cc:187
0 0 None 23 27 OPENSSL_cpuid_setup call site: 00028 /src/boringssl/crypto/cpu_intel.cc:198
0 0 None 23 25 OPENSSL_cpuid_setup call site: 00029 /src/boringssl/crypto/cpu_intel.cc:210
0 0 None 23 23 OPENSSL_cpuid_setup call site: 00030 /src/boringssl/crypto/cpu_intel.cc:261
0 0 None 4 745 bssl::GetCRLStatusForCert(bssl::der::Input,bssl::CrlVersion,std::__1::optional const&) call site: 00000 /src/boringssl/pki/crl.cc:320
0 0 None 0 236 voidbssl::crypto_md32_update<(anonymousnamespace)::SHA256Traits>((anonymousnamespace)::SHA256Traits::HashContext*,bssl::Span ) call site: 00000 /src/boringssl/crypto/fipsmodule/sha/../digest/md32_common.h:86

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 SHA256 [function] [call site] 00003
2 BCM_sha256_init [function] [call site] 00004
3 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00005
2 BCM_sha256_update [function] [call site] 00006
3 bssl::Span<unsigned char const>::Span(unsigned char const*, unsigned long) [function] [call site] 00007
3 void bssl::crypto_md32_update<(anonymous namespace)::SHA256Traits>((anonymous namespace)::SHA256Traits::HashContext*, bssl::Span<unsigned char const>) [function] [call site] 00008
4 bssl::Span<unsigned char const>::empty() const [function] [call site] 00009
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00010
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00011
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00012
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00013
4 bssl::Span<unsigned char const>::data() const [function] [call site] 00014
4 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00015
4 (anonymous namespace)::SHA256Traits::HashBlocks(unsigned int*, unsigned char const*, unsigned long) [function] [call site] 00016
5 sha256_block_data_order(unsigned int*, unsigned char const*, unsigned long) [function] [call site] 00017
6 sha256_hw_capable [function] [call site] 00018
7 CRYPTO_is_x86_SHA_capable [function] [call site] 00019
8 OPENSSL_get_ia32cap [function] [call site] 00020
9 OPENSSL_init_cpuid [function] [call site] 00021
10 CRYPTO_once [function] [call site] 00022
11 pthread_once [call site] 00023
11 abort [call site] 00024
10 OPENSSL_cpuid_setup [function] [call site] 00025
11 OPENSSL_cpuid(unsigned int*, unsigned int*, unsigned int*, unsigned int*, unsigned int) [function] [call site] 00026
11 OPENSSL_cpuid(unsigned int*, unsigned int*, unsigned int*, unsigned int*, unsigned int) [function] [call site] 00027
11 OPENSSL_cpuid(unsigned int*, unsigned int*, unsigned int*, unsigned int*, unsigned int) [function] [call site] 00028
11 OPENSSL_xgetbv(unsigned int) [function] [call site] 00029
11 os_supports_avx512(unsigned long) [function] [call site] 00030
11 getenv [call site] 00031
11 OPENSSL_adjust_ia32cap [function] [call site] 00032
12 handle_cpu_env(unsigned int*, char const*, bool) [function] [call site] 00033
13 __errno_location [call site] 00034
13 strtoull [call site] 00035
13 __errno_location [call site] 00036
12 strchr [call site] 00037
12 handle_cpu_env(unsigned int*, char const*, bool) [function] [call site] 00038
7 CRYPTO_is_SSSE3_capable [function] [call site] 00039
8 OPENSSL_get_ia32cap [function] [call site] 00040
6 sha256_block_data_order_hw [call site] 00041
6 sha256_avx_capable [function] [call site] 00042
7 CRYPTO_is_AVX_capable [function] [call site] 00043
8 OPENSSL_get_ia32cap [function] [call site] 00044
7 CRYPTO_is_intel_cpu [function] [call site] 00045
8 OPENSSL_get_ia32cap [function] [call site] 00046
6 sha256_block_data_order_avx [call site] 00047
6 sha256_ssse3_capable [function] [call site] 00048
7 CRYPTO_is_SSSE3_capable [function] [call site] 00049
6 sha256_block_data_order_ssse3 [call site] 00050
6 sha256_block_data_order_nohw [call site] 00051
4 bssl::Span<unsigned char const>::subspan(unsigned long, unsigned long) const [function] [call site] 00052
5 abort [call site] 00053
5 bssl::Span<unsigned char const>::Span(unsigned char const*, unsigned long) [function] [call site] 00054
4 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00055
4 bssl::Span<unsigned char const>::data() const [function] [call site] 00056
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00057
4 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00058
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00059
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00060
4 bssl::Span<unsigned char const>::data() const [function] [call site] 00061
4 (anonymous namespace)::SHA256Traits::HashBlocks(unsigned int*, unsigned char const*, unsigned long) [function] [call site] 00062
4 bssl::Span<unsigned char const>::subspan(unsigned long, unsigned long) const [function] [call site] 00063
4 bssl::Span<unsigned char const>::empty() const [function] [call site] 00064
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00065
4 bssl::Span<unsigned char const>::data() const [function] [call site] 00066
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00067
4 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00068
2 BCM_sha256_final [function] [call site] 00069
3 sha256_final_impl(unsigned char*, unsigned long, sha256_state_st*) [function] [call site] 00070
4 void bssl::crypto_md32_final<(anonymous namespace)::SHA256Traits>((anonymous namespace)::SHA256Traits::HashContext*) [function] [call site] 00071
5 __assert_fail [call site] 00072
5 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00073
5 (anonymous namespace)::SHA256Traits::HashBlocks(unsigned int*, unsigned char const*, unsigned long) [function] [call site] 00074
5 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00075
5 CRYPTO_store_u32_be(void*, unsigned int) [function] [call site] 00076
6 CRYPTO_bswap4(unsigned int) [function] [call site] 00077
6 OPENSSL_memcpy(void*, void const*, unsigned long) [function] [call site] 00078
5 CRYPTO_store_u32_be(void*, unsigned int) [function] [call site] 00079
5 (anonymous namespace)::SHA256Traits::HashBlocks(unsigned int*, unsigned char const*, unsigned long) [function] [call site] 00080
5 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00081
4 abort [call site] 00082
4 __assert_fail [call site] 00083
4 CRYPTO_store_u32_be(void*, unsigned int) [function] [call site] 00084
4 FIPS_service_indicator_update_state() [function] [call site] 00085
2 OPENSSL_cleanse [function] [call site] 00086
3 OPENSSL_memset(void*, int, unsigned long) [function] [call site] 00087
1 __assert_fail [call site] 00088
1 bssl::der::Input::Input(unsigned char const*, unsigned long) [function] [call site] 00089
1 bssl::GetCRLStatusForCert(bssl::der::Input, bssl::CrlVersion, std::__1::optional<bssl::der::Input> const&) [function] [call site] 00090
2 std::__1::optional<bssl::der::Input>::operator*[abi:ne180100]() const & [function] [call site] 00091
3 std::__1::__optional_storage_base<bssl::der::Input, false>::__get[abi:ne180100]() const & [function] [call site] 00092
2 bssl::der::Parser::Parser(bssl::der::Input) [function] [call site] 00093
3 bssl::der::Input::data() const [function] [call site] 00094
4 bssl::Span<unsigned char const>::data() const [function] [call site] 00095
3 bssl::der::Input::size() const [function] [call site] 00096
4 bssl::Span<unsigned char const>::size() const [function] [call site] 00097
2 bssl::der::Parser::Parser() [function] [call site] 00099
2 bssl::der::Parser::ReadSequence(bssl::der::Parser*) [function] [call site] 00101
3 bssl::der::Parser::ReadConstructed(unsigned int, bssl::der::Parser*) [function] [call site] 00102
4 bssl::der::Input::Input() [function] [call site] 00103
5 bssl::Span<unsigned char const>::Span() [function] [call site] 00104
6 bssl::Span<unsigned char const>::Span(unsigned char const*, unsigned long) [function] [call site] 00105
4 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00106
5 bssl::der::Input::Input() [function] [call site] 00107
5 bssl::der::Parser::PeekTagAndValue(unsigned int*, bssl::der::Input*) [function] [call site] 00108
6 CBS_get_any_asn1_element [function] [call site] 00109
7 cbs_get_any_asn1_element(cbs_st*, cbs_st*, unsigned int*, unsigned long*, int*, int*, int) [function] [call site] 00110
8 __assert_fail [call site] 00111
8 __assert_fail [call site] 00112
8 parse_asn1_tag(cbs_st*, unsigned int*) [function] [call site] 00113
9 CBS_get_u8 [function] [call site] 00114
10 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00115
9 parse_base128_integer(cbs_st*, unsigned long*) [function] [call site] 00116
10 CBS_get_u8 [function] [call site] 00117
8 CBS_get_u8 [function] [call site] 00118
8 CBS_get_bytes [function] [call site] 00120
9 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00121
8 cbs_get_u(cbs_st*, unsigned long*, unsigned long) [function] [call site] 00123
9 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00124
8 CBS_get_bytes [function] [call site] 00125
6 CBS_skip [function] [call site] 00126
7 cbs_get(cbs_st*, unsigned char const**, unsigned long) [function] [call site] 00127
6 bssl::der::Input::Input(unsigned char const*, unsigned long) [function] [call site] 00131
5 bssl::der::Parser::Advance() [function] [call site] 00132
5 abort [call site] 00134
4 bssl::der::Parser::Parser(bssl::der::Input) [function] [call site] 00135
2 bssl::der::Parser::HasMore() [function] [call site] 00136
2 bssl::der::Parser::HasMore() [function] [call site] 00138
2 bssl::der::Parser::HasMore() [function] [call site] 00139
2 bssl::der::Parser::Parser() [function] [call site] 00140
2 bssl::der::Parser::ReadSequence(bssl::der::Parser*) [function] [call site] 00141
2 bssl::der::Input::Input() [function] [call site] 00142
2 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00143
2 bssl::ReadUTCOrGeneralizedTime(bssl::der::Parser*, bssl::der::GeneralizedTime*) [function] [call site] 00144
3 bssl::der::Input::Input() [function] [call site] 00145
3 bssl::der::Parser::ReadTagAndValue(unsigned int*, bssl::der::Input*) [function] [call site] 00146
4 bssl::der::Parser::PeekTagAndValue(unsigned int*, bssl::der::Input*) [function] [call site] 00147
4 bssl::der::Parser::Advance() [function] [call site] 00148
4 abort [call site] 00149
3 bssl::der::ParseUTCTime(bssl::der::Input, bssl::der::GeneralizedTime*) [function] [call site] 00150
4 bssl::der::ByteReader::ByteReader(bssl::der::Input) [function] [call site] 00151
5 bssl::Span<unsigned char const>::Span<bssl::der::Input, void, bssl::der::Input>(bssl::der::Input const&) [function] [call site] 00152
6 bssl::der::Input::data() const [function] [call site] 00153
6 bssl::der::Input::size() const [function] [call site] 00154
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned short>(bssl::der::ByteReader&, unsigned long, unsigned short*) [function] [call site] 00155
5 bssl::der::ByteReader::ReadByte(unsigned char*) [function] [call site] 00156
6 bssl::der::ByteReader::HasMore() [function] [call site] 00157
7 bssl::Span<unsigned char const>::empty() const [function] [call site] 00158
6 bssl::Span<unsigned char const>::operator[](unsigned long) const [function] [call site] 00159
7 abort [call site] 00160
6 bssl::der::ByteReader::Advance(unsigned long) [function] [call site] 00161
7 bssl::Span<unsigned char const>::size() const [function] [call site] 00162
7 abort [call site] 00163
7 bssl::Span<unsigned char const>::subspan(unsigned long, unsigned long) const [function] [call site] 00164
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00165
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00166
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00167
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00168
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00169
4 bssl::der::ByteReader::ReadByte(unsigned char*) [function] [call site] 00170
4 bssl::der::ByteReader::HasMore() [function] [call site] 00171
4 bssl::der::(anonymous namespace)::ValidateGeneralizedTime(bssl::der::GeneralizedTime const&) [function] [call site] 00172
5 abort [call site] 00173
3 bssl::der::ParseGeneralizedTime(bssl::der::Input, bssl::der::GeneralizedTime*) [function] [call site] 00174
4 bssl::der::ByteReader::ByteReader(bssl::der::Input) [function] [call site] 00175
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned short>(bssl::der::ByteReader&, unsigned long, unsigned short*) [function] [call site] 00176
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00177
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00178
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00179
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00180
4 bool bssl::der::(anonymous namespace)::DecimalStringToUint<unsigned char>(bssl::der::ByteReader&, unsigned long, unsigned char*) [function] [call site] 00181
4 bssl::der::ByteReader::ReadByte(unsigned char*) [function] [call site] 00182
4 bssl::der::ByteReader::HasMore() [function] [call site] 00183
4 bssl::der::(anonymous namespace)::ValidateGeneralizedTime(bssl::der::GeneralizedTime const&) [function] [call site] 00184
2 bssl::der::Parser::HasMore() [function] [call site] 00185
2 bssl::der::Input::Input() [function] [call site] 00186
2 bssl::der::Parser::ReadRawTLV(bssl::der::Input*) [function] [call site] 00187
3 CBS_get_any_asn1_element [function] [call site] 00188
3 bssl::der::Input::Input(unsigned char const*, unsigned long) [function] [call site] 00191
2 bssl::ParseExtensions(bssl::der::Input, std::__1::map<bssl::der::Input, bssl::ParsedExtension, std::__1::less<bssl::der::Input>, std::__1::allocator<std::__1::pair<bssl::der::Input const, bssl::ParsedExtension> > >*) [function] [call site] 00192
3 bssl::der::Parser::Parser(bssl::der::Input) [function] [call site] 00193
3 bssl::der::Parser::Parser() [function] [call site] 00194
3 bssl::der::Parser::ReadSequence(bssl::der::Parser*) [function] [call site] 00195
3 bssl::der::Parser::HasMore() [function] [call site] 00196
3 bssl::der::Parser::HasMore() [function] [call site] 00197
3 bssl::ParsedExtension::ParsedExtension() [function] [call site] 00198
4 bssl::der::Input::Input() [function] [call site] 00199
3 bssl::der::Input::Input() [function] [call site] 00200
3 bssl::der::Parser::ReadRawTLV(bssl::der::Input*) [function] [call site] 00201
3 bssl::ParseExtension(bssl::der::Input, bssl::ParsedExtension*) [function] [call site] 00202
4 bssl::der::Parser::Parser(bssl::der::Input) [function] [call site] 00203
4 bssl::der::Parser::Parser() [function] [call site] 00204
4 bssl::der::Parser::ReadSequence(bssl::der::Parser*) [function] [call site] 00205
4 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00206
4 bssl::der::Input::Input() [function] [call site] 00207
4 bssl::der::Parser::ReadOptionalTag(unsigned int, bssl::der::Input*, bool*) [function] [call site] 00208
5 bssl::der::Parser::ReadOptionalTag(unsigned int, std::__1::optional<bssl::der::Input>*) [function] [call site] 00209
6 bssl::der::Parser::HasMore() [function] [call site] 00210
6 bssl::der::Input::Input() [function] [call site] 00211
6 bssl::der::Parser::PeekTagAndValue(unsigned int*, bssl::der::Input*) [function] [call site] 00212
6 bssl::der::Parser::Advance() [function] [call site] 00213
6 abort [call site] 00214
5 bssl::der::Input::Input() [function] [call site] 00215
5 bssl::der::Input std::__1::optional<bssl::der::Input>::value_or[abi:ne180100]<bssl::der::Input>(bssl::der::Input&&) const & [function] [call site] 00216
6 std::__1::__optional_storage_base<bssl::der::Input, false>::__get[abi:ne180100]() const & [function] [call site] 00217
4 bssl::der::ParseBool(bssl::der::Input, bool*) [function] [call site] 00218
5 bssl::der::(anonymous namespace)::ParseBoolInternal(bssl::der::Input, bool*, bool) [function] [call site] 00219
6 bssl::der::Input::size() const [function] [call site] 00220
6 bssl::der::ByteReader::ByteReader(bssl::der::Input) [function] [call site] 00221
6 bssl::der::ByteReader::ReadByte(unsigned char*) [function] [call site] 00222
4 bssl::der::Parser::ReadTag(unsigned int, bssl::der::Input*) [function] [call site] 00223
4 bssl::der::Parser::HasMore() [function] [call site] 00224
4 bssl::der::Parser::HasMore() [function] [call site] 00225
3 bssl::der::Parser::HasMore() [function] [call site] 00226
2 bssl::der::Parser::HasMore() [function] [call site] 00227
2 bssl::der::operator==(bssl::der::Input, bssl::der::Input) [function] [call site] 00228
3 bssl::Span<unsigned char const>::Span<bssl::der::Input, void, bssl::der::Input>(bssl::der::Input const&) [function] [call site] 00229
3 bssl::internal::operator==(bssl::Span<unsigned char const>, bssl::Span<unsigned char const>) [function] [call site] 00230
4 bssl::Span<unsigned char const>::begin() const [function] [call site] 00231
4 bssl::Span<unsigned char const>::end() const [function] [call site] 00232