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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
17 21 qpdf::global::Options::fuzz_mode(bool) call site: 00021 _ZN4qpdf4util4fitsIiTkNSt3__18integralEjQsr3stdE8integralIT_EEEbT0_
12 58 FuzzHelper::run() call site: 00058
11 39 qpdf::global::set_uint32(qpdf_param_e, unsigned int) call site: 00039 __cxa_allocate_exception
2 78 FuzzHelper::run() call site: 00078
1 5 qpdf::global::set_uint32(qpdf_param_e, unsigned int) call site: 00005
1 55 Pl_RunLength::Pl_RunLength(char const*, Pipeline*, Pl_RunLength::action_e) call site: 00055
1 96 FuzzHelper::run() call site: 00096 __cxa_begin_catch

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 FuzzHelper::FuzzHelper(unsigned char const*, unsigned long) [function] [call site] 00001
1 FuzzHelper::run() [function] [call site] 00002
2 qpdf::global::options::fuzz_mode(bool) [function] [call site] 00003
3 qpdf::global::set_uint32(qpdf_param_e, unsigned int) [function] [call site] 00004
4 qpdf_global_set_uint32 [function] [call site] 00005
5 qpdf::global::Options::inspection_mode(bool) [function] [call site] 00006
5 qpdf::global::Options::fuzz_mode(bool) [function] [call site] 00007
6 qpdf::global::Limits::dct_max_memory(long) [function] [call site] 00008
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralElQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00009
6 qpdf::global::Limits::dct_max_progressive_scans(int) [function] [call site] 00010
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEiQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00011
6 qpdf::global::Options::dct_throw_on_corrupt_data(bool) [function] [call site] 00012
6 qpdf::global::Limits::png_max_memory(unsigned long long) [function] [call site] 00013
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEyQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00014
6 qpdf::global::Limits::flate_max_memory(unsigned long long) [function] [call site] 00015
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEyQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00016
6 qpdf::global::Limits::run_length_max_memory(unsigned long long) [function] [call site] 00017
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEyQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00018
6 qpdf::global::Limits::tiff_max_memory(unsigned long long) [function] [call site] 00019
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEyQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00020
6 qpdf::global::Limits::doc_max_warnings(unsigned int) [function] [call site] 00021
5 qpdf::global::Options::default_limits(bool) [function] [call site] 00022
6 qpdf::global::Limits::disable_defaults() [function] [call site] 00023
5 qpdf::global::Options::dct_throw_on_corrupt_data(bool) [function] [call site] 00024
5 qpdf::global::Limits::doc_max_warnings(unsigned int) [function] [call site] 00025
5 qpdf::global::Limits::parser_max_nesting(unsigned int) [function] [call site] 00026
5 qpdf::global::Limits::parser_max_errors(unsigned int) [function] [call site] 00027
5 qpdf::global::Limits::parser_max_container_size(bool, unsigned int) [function] [call site] 00028
5 qpdf::global::Limits::parser_max_container_size(bool, unsigned int) [function] [call site] 00029
5 qpdf::global::Limits::max_stream_filters(unsigned int) [function] [call site] 00030
5 _ZN4qpdf4util4fitsIlTkNSt3__18integralEjQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00031
5 qpdf::global::Limits::dct_max_memory(long) [function] [call site] 00032
5 _ZN4qpdf4util4fitsIiTkNSt3__18integralEjQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00033
5 qpdf::global::Limits::dct_max_progressive_scans(int) [function] [call site] 00034
5 qpdf::global::Limits::flate_max_memory(unsigned long long) [function] [call site] 00035
5 qpdf::global::Limits::png_max_memory(unsigned long long) [function] [call site] 00036
5 qpdf::global::Limits::run_length_max_memory(unsigned long long) [function] [call site] 00037
5 qpdf::global::Limits::tiff_max_memory(unsigned long long) [function] [call site] 00038
4 qpdf::global::handle_result(qpdf_result_e) [function] [call site] 00039
5 QUtil::handle_result_code(qpdf_result_e, std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00040
6 void qpdf::util::assertion<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) [function] [call site] 00041
7 __cxa_allocate_exception [call site] 00042
7 std::logic_error::logic_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00043
7 __cxa_throw [call site] 00044
7 std::logic_error::~logic_error() [call site] 00045
7 __cxa_free_exception [call site] 00046
6 __cxa_allocate_exception [call site] 00047
6 std::logic_error::logic_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00048
6 __cxa_throw [call site] 00049
6 __cxa_free_exception [call site] 00050
2 Pl_Discard::Pl_Discard() [function] [call site] 00051
3 Pipeline::Pipeline(char const*, Pipeline*) [function] [call site] 00052
2 Pl_RunLength::Pl_RunLength(char const*, Pipeline*, Pl_RunLength::action_e) [function] [call site] 00053
3 Pipeline::Pipeline(char const*, Pipeline*) [function] [call site] 00054
3 void qpdf::util::assertion<char const (&) [52]>(bool, char const (&) [52]) [function] [call site] 00055
4 std::logic_error::logic_error(char const*) [call site] 00056
3 Pipeline::~Pipeline() [function] [call site] 00057
2 Pl_RunLength::write(unsigned char const*, unsigned long) [function] [call site] 00058
3 Pl_RunLength::encode(unsigned char const*, unsigned long) [function] [call site] 00059
4 void qpdf::util::assertion<char const (&) [49]>(bool, char const (&) [49]) [function] [call site] 00060
4 QTC::TC(char const*, char const*, int) [function] [call site] 00061
4 Pl_RunLength::flush_encode() [function] [call site] 00062
5 QTC::TC(char const*, char const*, int) [function] [call site] 00063
5 QTC::TC(char const*, char const*, int) [function] [call site] 00064
5 void qpdf::util::assertion<char const (&) [53]>(bool, char const (&) [53]) [function] [call site] 00065
5 Pipeline::next() const [function] [call site] 00066
5 Pipeline::next() const [function] [call site] 00067
5 Pipeline::next() const [function] [call site] 00068
5 Pipeline::next() const [function] [call site] 00069
4 Pl_RunLength::flush_encode() [function] [call site] 00070
3 Pl_RunLength::decode(unsigned char const*, unsigned long) [function] [call site] 00071
4 void qpdf::util::no_ci_rt_error_if<char const (&) [35]>(bool, char const (&) [35]) [function] [call site] 00072
5 __cxa_allocate_exception [call site] 00073
5 std::runtime_error::runtime_error(char const*) [call site] 00074
5 __cxa_throw [call site] 00075
5 std::runtime_error::~runtime_error() [call site] 00076
5 __cxa_free_exception [call site] 00077
2 Pl_RunLength::finish() [function] [call site] 00078
3 Pl_RunLength::flush_encode() [function] [call site] 00079
3 Pipeline::next() const [function] [call site] 00080
3 __cxa_allocate_exception [call site] 00081
3 std::runtime_error::runtime_error(char const*) [call site] 00082
3 __cxa_throw [call site] 00083
3 std::runtime_error::~runtime_error() [call site] 00084
3 __cxa_free_exception [call site] 00085
3 Pipeline::next() const [function] [call site] 00086
3 Pipeline::writeString(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00087
4 Pipeline::write(char const*, unsigned long) [function] [call site] 00088
3 Pipeline::next() const [function] [call site] 00089
2 __cxa_begin_catch [call site] 00090
2 __cxa_end_catch [call site] 00091
2 Pl_RunLength::~Pl_RunLength() [function] [call site] 00092
3 Pipeline::~Pipeline() [function] [call site] 00093
2 Pl_Discard::~Pl_Discard() [function] [call site] 00094
3 Pipeline::~Pipeline() [function] [call site] 00095
2 __clang_call_terminate [call site] 00096
3 __cxa_begin_catch [call site] 00097