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

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fuzz(unsigned char const*, unsigned long) [function] [call site] 00001
2 Botan::PKCS7_Padding::valid_blocksize(unsigned long) const [function] [call site] 00002
2 Botan::PKCS7_Padding::unpad(unsigned char const*, unsigned long) const [function] [call site] 00003
3 Botan::PKCS7_Padding::valid_blocksize(unsigned long) const [function] [call site] 00004
3 void Botan::CT::poison (unsigned char const*, unsigned long) [function] [call site] 00005
4 void Botan::ignore_params (unsigned char const*&, unsigned long&) [function] [call site] 00006
5 void Botan::ignore_param (unsigned char const*&) [function] [call site] 00007
3 Botan::CT::Mask ::is_gt(unsigned long, unsigned long) [function] [call site] 00008
4 Botan::CT::Mask ::is_lt(unsigned long, unsigned long) [function] [call site] 00009
5 unsigned long Botan::expand_top_bit (unsigned long) [function] [call site] 00010
5 Botan::CT::Mask ::Mask(unsigned long) [function] [call site] 00011
3 void Botan::CT::unpoison (unsigned char const*, unsigned long) [function] [call site] 00012
4 void Botan::ignore_params (unsigned char const*&, unsigned long&) [function] [call site] 00013
3 Botan::CT::Mask ::select_and_unpoison(unsigned long, unsigned long) const [function] [call site] 00014
4 Botan::CT::Mask ::select(unsigned long, unsigned long) const [function] [call site] 00015
5 Botan::CT::Mask ::value() const [function] [call site] 00016
5 unsigned long Botan::choose (unsigned long, unsigned long, unsigned long) [function] [call site] 00017
4 void Botan::CT::unpoison (unsigned long&) [function] [call site] 00018
5 void Botan::ignore_params (unsigned long&) [function] [call site] 00019
3 Botan::CT::Mask ::is_equal(unsigned long, unsigned long) [function] [call site] 00020
4 Botan::CT::Mask ::is_zero(unsigned long) [function] [call site] 00021
5 unsigned long Botan::ct_is_zero (unsigned long) [function] [call site] 00022
6 unsigned long Botan::expand_top_bit (unsigned long) [function] [call site] 00023
5 Botan::CT::Mask ::Mask(unsigned long) [function] [call site] 00024
3 Botan::CT::Mask ::is_gte(unsigned long, unsigned long) [function] [call site] 00025
4 Botan::CT::Mask ::is_lt(unsigned long, unsigned long) [function] [call site] 00026
3 Botan::CT::Mask ::operator~() const [function] [call site] 00027
4 Botan::CT::Mask ::value() const [function] [call site] 00028
2 (anonymous namespace)::ref_pkcs7_unpad(unsigned char const*, unsigned long) [function] [call site] 00029
2 abort [call site] 00030
2 Botan::ANSI_X923_Padding::valid_blocksize(unsigned long) const [function] [call site] 00031
2 Botan::ANSI_X923_Padding::unpad(unsigned char const*, unsigned long) const [function] [call site] 00032
3 Botan::ANSI_X923_Padding::valid_blocksize(unsigned long) const [function] [call site] 00033
3 void Botan::CT::poison (unsigned char const*, unsigned long) [function] [call site] 00034
3 Botan::CT::Mask ::is_gt(unsigned long, unsigned long) [function] [call site] 00035
3 void Botan::CT::unpoison (unsigned char const*, unsigned long) [function] [call site] 00036
3 Botan::CT::Mask ::select_and_unpoison(unsigned long, unsigned long) const [function] [call site] 00037
3 Botan::CT::Mask ::is_gte(unsigned long, unsigned long) [function] [call site] 00038
3 Botan::CT::Mask ::expand(unsigned long) [function] [call site] 00039
4 Botan::CT::Mask ::is_zero(unsigned long) [function] [call site] 00040
3 Botan::CT::operator&(Botan::CT::Mask , Botan::CT::Mask ) [function] [call site] 00041
4 Botan::CT::Mask ::value() const [function] [call site] 00042
2 (anonymous namespace)::ref_x923_unpad(unsigned char const*, unsigned long) [function] [call site] 00043
2 abort [call site] 00044
2 Botan::OneAndZeros_Padding::valid_blocksize(unsigned long) const [function] [call site] 00045
2 Botan::OneAndZeros_Padding::unpad(unsigned char const*, unsigned long) const [function] [call site] 00046
3 Botan::OneAndZeros_Padding::valid_blocksize(unsigned long) const [function] [call site] 00047
3 void Botan::CT::poison (unsigned char const*, unsigned long) [function] [call site] 00048
3 Botan::CT::Mask ::cleared() [function] [call site] 00049
3 Botan::CT::Mask ::cleared() [function] [call site] 00050
3 Botan::CT::Mask ::is_equal(unsigned char, unsigned char) [function] [call site] 00051
3 Botan::CT::Mask ::is_zero(unsigned char) [function] [call site] 00052
3 Botan::CT::Mask ::operator|=(Botan::CT::Mask ) [function] [call site] 00053
4 Botan::CT::Mask ::value() const [function] [call site] 00054
3 Botan::CT::Mask ::if_not_set_return(unsigned char) const [function] [call site] 00055
3 Botan::CT::Mask ::operator~() const [function] [call site] 00056
3 Botan::CT::Mask ::operator~() const [function] [call site] 00057
3 void Botan::CT::unpoison (unsigned char const*, unsigned long) [function] [call site] 00058
3 Botan::CT::Mask Botan::CT::Mask ::expand (Botan::CT::Mask ) [function] [call site] 00059
4 Botan::CT::Mask ::value() const [function] [call site] 00060
2 (anonymous namespace)::ref_oneandzero_unpad(unsigned char const*, unsigned long) [function] [call site] 00061
2 abort [call site] 00062
2 Botan::ESP_Padding::valid_blocksize(unsigned long) const [function] [call site] 00063
2 Botan::ESP_Padding::unpad(unsigned char const*, unsigned long) const [function] [call site] 00064
3 Botan::ESP_Padding::valid_blocksize(unsigned long) const [function] [call site] 00065
3 void Botan::CT::poison (unsigned char const*, unsigned long) [function] [call site] 00066
3 Botan::CT::Mask ::is_zero(unsigned char) [function] [call site] 00067
3 Botan::CT::Mask ::is_gt(unsigned long, unsigned long) [function] [call site] 00068
3 Botan::CT::Mask ::is_equal(unsigned char, unsigned char) [function] [call site] 00069
3 Botan::CT::Mask ::Mask (Botan::CT::Mask ) [function] [call site] 00070
4 Botan::CT::Mask ::value() const [function] [call site] 00071
3 void Botan::CT::unpoison (unsigned char const*, unsigned long) [function] [call site] 00072
3 Botan::CT::Mask ::select_and_unpoison(unsigned char, unsigned char) const [function] [call site] 00073
2 (anonymous namespace)::ref_esp_unpad(unsigned char const*, unsigned long) [function] [call site] 00074
2 abort [call site] 00075
2 Botan::TLS::check_tls_cbc_padding(unsigned char const*, unsigned long) [function] [call site] 00076
3 Botan::CT::Mask ::is_lt(unsigned short, unsigned short) [function] [call site] 00077
3 Botan::CT::Mask ::if_not_set_return(unsigned short) const [function] [call site] 00078
3 Botan::CT::Mask ::is_lte(unsigned short, unsigned short) [function] [call site] 00079
4 Botan::CT::Mask ::is_gt(unsigned short, unsigned short) [function] [call site] 00080
3 Botan::CT::Mask ::is_equal(unsigned short, unsigned short) [function] [call site] 00081
3 Botan::CT::Mask ::operator~() const [function] [call site] 00082
2 (anonymous namespace)::ref_tls_cbc_unpad(unsigned char const*, unsigned long) [function] [call site] 00083
2 abort [call site] 00084