Fuzz introspector: pkcs1
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
0 0 None 8 8 Botan::allocate_memory(unsignedlong,unsignedlong) call site: 00000 /src/botan/src/lib/utils/mem_ops.cpp:27

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fuzz(unsigned char const*, unsigned long) [function] [call site] 00001
2 Botan::EME_PKCS1v15::unpad(unsigned char&, unsigned char const*, unsigned long) const [function] [call site] 00002
3 void Botan::CT::poison (unsigned char const*, unsigned long) [function] [call site] 00003
4 void Botan::ignore_params (unsigned char const*&, unsigned long&) [function] [call site] 00004
5 void Botan::ignore_param (unsigned char const*&) [function] [call site] 00005
3 Botan::CT::Mask ::cleared() [function] [call site] 00006
4 Botan::CT::Mask ::Mask(unsigned char) [function] [call site] 00007
3 Botan::CT::Mask ::cleared() [function] [call site] 00008
3 Botan::CT::Mask ::is_equal(unsigned char, unsigned char) [function] [call site] 00009
4 Botan::CT::Mask ::is_zero(unsigned char) [function] [call site] 00010
5 unsigned char Botan::ct_is_zero (unsigned char) [function] [call site] 00011
6 unsigned char Botan::expand_top_bit (unsigned char) [function] [call site] 00012
5 Botan::CT::Mask ::Mask(unsigned char) [function] [call site] 00013
3 Botan::CT::Mask ::is_equal(unsigned char, unsigned char) [function] [call site] 00014
3 Botan::CT::Mask ::operator~() const [function] [call site] 00015
4 Botan::CT::Mask ::value() const [function] [call site] 00016
3 Botan::CT::Mask ::is_lt(unsigned long, unsigned long) [function] [call site] 00017
4 unsigned long Botan::expand_top_bit (unsigned long) [function] [call site] 00018
4 Botan::CT::Mask ::Mask(unsigned long) [function] [call site] 00019
3 Botan::CT::Mask ::operator~() const [function] [call site] 00020
3 Botan::CT::copy_output(Botan::CT::Mask , unsigned char const*, unsigned long, unsigned long) [function] [call site] 00021
4 void Botan::CT::poison (unsigned long const*, unsigned long) [function] [call site] 00022
4 Botan::CT::Mask Botan::CT::Mask ::expand (Botan::CT::Mask ) [function] [call site] 00023
5 Botan::CT::Mask ::value() const [function] [call site] 00024
4 Botan::CT::Mask ::is_gt(unsigned long, unsigned long) [function] [call site] 00025
5 Botan::CT::Mask ::is_lt(unsigned long, unsigned long) [function] [call site] 00026
4 Botan::CT::Mask ::select(unsigned long, unsigned long) const [function] [call site] 00027
5 Botan::CT::Mask ::value() const [function] [call site] 00028
5 unsigned long Botan::choose (unsigned long, unsigned long, unsigned long) [function] [call site] 00029
4 void Botan::CT::unpoison (unsigned char const*, unsigned long) [function] [call site] 00030
5 void Botan::ignore_params (unsigned char const*&, unsigned long&) [function] [call site] 00031
4 Botan::CT::Mask ::is_equal(unsigned long, unsigned long) [function] [call site] 00032
4 void Botan::CT::unpoison (unsigned long const&) [function] [call site] 00033
5 void Botan::ignore_params (unsigned long const&) [function] [call site] 00034
3 void Botan::CT::unpoison (unsigned char const*, unsigned long) [function] [call site] 00035
3 Botan::CT::Mask ::is_zero(unsigned char) [function] [call site] 00036
3 Botan::CT::Mask ::if_not_set_return(unsigned char) const [function] [call site] 00037
2 abort [call site] 00038
2 __cxa_begin_catch [call site] 00039
2 __cxa_end_catch [call site] 00040
2 (anonymous namespace)::simple_pkcs1_unpad(unsigned char const*, unsigned long) [function] [call site] 00041
3 __cxa_allocate_exception [call site] 00042
3 Botan::Decoding_Error::Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00043
4 Botan::Exception::Exception(std::__1::basic_string_view >) [function] [call site] 00044
5 std::exception::exception() [function] [call site] 00045
5 std::exception::~exception() [call site] 00046
3 Botan::Exception::~Exception() [function] [call site] 00047
4 std::exception::~exception() [call site] 00048
3 __cxa_allocate_exception [call site] 00049
3 Botan::Decoding_Error::Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00050
3 Botan::Exception::~Exception() [function] [call site] 00051
3 __cxa_allocate_exception [call site] 00052
3 Botan::Decoding_Error::Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00053
3 Botan::Exception::~Exception() [function] [call site] 00054
3 __cxa_allocate_exception [call site] 00055
3 Botan::Decoding_Error::Decoding_Error(std::__1::basic_string_view >) [function] [call site] 00056
3 Botan::Exception::~Exception() [function] [call site] 00057
3 __cxa_free_exception [call site] 00058
2 __cxa_begin_catch [call site] 00059
2 __cxa_end_catch [call site] 00060
2 Botan::hex_encode(std::__1::span , bool) [function] [call site] 00061
3 Botan::hex_encode(unsigned char const*, unsigned long, bool) [function] [call site] 00062
4 Botan::hex_encode(char*, unsigned char const*, unsigned long, bool) [function] [call site] 00063
5 Botan::(anonymous namespace)::hex_encode_nibble(unsigned char, bool) [function] [call site] 00064
6 Botan::CT::Mask ::is_lt(unsigned char, unsigned char) [function] [call site] 00065
6 Botan::CT::Mask ::select(unsigned char, unsigned char) const [function] [call site] 00066
5 Botan::(anonymous namespace)::hex_encode_nibble(unsigned char, bool) [function] [call site] 00067
2 abort [call site] 00068
2 Botan::hex_encode(std::__1::span , bool) [function] [call site] 00069
2 abort [call site] 00070