Fuzz introspector: mem_pool
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 0 0 Botan::Memory_Pool::deallocate(void*,unsignedlong) call site: 00000 /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:365

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fuzz(unsigned char const*, unsigned long) [function] [call site] 00001
2 __cxa_guard_acquire [call site] 00002
2 (anonymous namespace)::allocate_raw_pages(unsigned long, unsigned long) [function] [call site] 00003
3 posix_memalign [call site] 00004
3 abort [call site] 00005
3 (anonymous namespace)::RawPage::RawPage(void*) [function] [call site] 00006
2 Botan::Memory_Pool::Memory_Pool(std::__1::vector > const&, unsigned long) [function] [call site] 00007
3 Botan::clear_bytes(void*, unsigned long) [function] [call site] 00008
2 (anonymous namespace)::RawPage::ptr() const [function] [call site] 00009
2 Botan::Memory_Pool::allocate(unsigned long) [function] [call site] 00010
3 Botan::(anonymous namespace)::choose_bucket(unsigned long) [function] [call site] 00011
3 Botan::Bucket::alloc() [function] [call site] 00012
4 Botan::(anonymous namespace)::BitMap::find_free(unsigned long*) [function] [call site] 00013
5 unsigned long Botan::(anonymous namespace)::find_set_bit (unsigned long) [function] [call site] 00014
5 Botan::assertion_failure(char const*, char const*, char const*, char const*, int) [function] [call site] 00015
6 __cxa_allocate_exception [call site] 00016
6 Botan::Internal_Error::Internal_Error(std::__1::basic_string_view >) [function] [call site] 00017
7 Botan::Exception::Exception(char const*, std::__1::basic_string_view >) [function] [call site] 00018
8 std::exception::exception() [function] [call site] 00019
8 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] 00020
9 void Botan::fmt_detail::do_fmt > >(std::__1::basic_ostringstream , std::__1::allocator >&, std::__1::basic_string_view >, char const* const&, std::__1::basic_string_view > const&) [function] [call site] 00021
10 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] 00022
8 std::exception::~exception() [call site] 00023
4 Botan::assertion_failure(char const*, char const*, char const*, char const*, int) [function] [call site] 00024
3 Botan::Bucket::Bucket(unsigned char*, unsigned long, unsigned long) [function] [call site] 00025
4 Botan::(anonymous namespace)::BitMap::BitMap(unsigned long) [function] [call site] 00026
3 Botan::Bucket::alloc() [function] [call site] 00027
3 Botan::assertion_failure(char const*, char const*, char const*, char const*, int) [function] [call site] 00028
2 (anonymous namespace)::compute_expected_alignment(unsigned long) [function] [call site] 00029
3 bool Botan::is_power_of_2 (unsigned long) [function] [call site] 00030
2 abort [call site] 00031
2 abort [call site] 00032
2 abort [call site] 00033
2 abort [call site] 00034
2 abort [call site] 00035
2 Botan::Memory_Pool::deallocate(void*, unsigned long) [function] [call site] 00036
3 Botan::(anonymous namespace)::choose_bucket(unsigned long) [function] [call site] 00037
3 Botan::Bucket::free(void*) [function] [call site] 00038
4 Botan::Bucket::in_this_bucket(void*) const [function] [call site] 00039
5 Botan::(anonymous namespace)::ptr_in_pool(void const*, unsigned long, void const*, unsigned long) [function] [call site] 00040
4 Botan::(anonymous namespace)::BitMap::free(unsigned long) [function] [call site] 00041
5 Botan::assertion_failure(char const*, char const*, char const*, char const*, int) [function] [call site] 00042
5 Botan::assertion_failure(char const*, char const*, char const*, char const*, int) [function] [call site] 00043
3 Botan::Bucket::empty() const [function] [call site] 00044
4 Botan::(anonymous namespace)::BitMap::empty() const [function] [call site] 00045
3 Botan::Bucket::ptr() const [function] [call site] 00046
3 __cxa_begin_catch [call site] 00047
2 abort [call site] 00048
2 Botan::Memory_Pool::~Memory_Pool() [function] [call site] 00049