Fuzz introspector: flate_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
26 200 deflate call site: 00200 inflate
17 21 qpdf::global::Options::fuzz_mode(bool) call site: 00021 _ZN4qpdf4util4fitsIiTkNSt3__18integralEjQsr3stdE8integralIT_EEEbT0_
15 129 deflate call site: 00129 crc32
13 87 deflateResetKeep call site: 00087 crc32_z
11 39 qpdf::global::set_uint32(qpdf_param_e, unsigned int) call site: 00039 __cxa_allocate_exception
11 186 deflate call site: 00186 _tr_flush_block
8 56 unsigned long QIntC::to_size (unsigned int const&) call site: 00056 __cxa_allocate_exception
8 106 deflateReset call site: 00106 inflateInit_
7 251 Pl_Flate::finish() call site: 00251 __cxa_begin_catch
6 228 unsigned long QIntC::to_ulong (unsigned long const&) call site: 00228 __cxa_allocate_exception
6 238 FuzzHelper::run() call site: 00238 __cxa_allocate_exception
5 71 Pl_Flate::handleData(unsigned char const*, unsigned long, int) call site: 00071 __cxa_allocate_exception

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_Flate::Pl_Flate(char const*, Pipeline*, Pl_Flate::action_e, unsigned int) [function] [call site] 00053
3 Pipeline::Pipeline(char const*, Pipeline*) [function] [call site] 00054
3 unsigned long QIntC::to_size<unsigned int>(unsigned int const&) [function] [call site] 00055
4 QIntC::IntConverter<unsigned int, unsigned long, false, false>::convert(unsigned int const&) [function] [call site] 00056
5 QIntC::IntConverter<unsigned int, unsigned long, false, false>::error(unsigned int) [function] [call site] 00057
6 __cxa_allocate_exception [call site] 00058
6 std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str[abi:ne220000]() const & [function] [call site] 00059
7 std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str[abi:ne220000]() const & [function] [call site] 00060
6 std::range_error::range_error[abi:ne220000](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00061
7 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00062
6 __cxa_throw [call site] 00063
6 __cxa_free_exception [call site] 00064
3 void qpdf::util::assertion<char const (&) [48]>(bool, char const (&) [48]) [function] [call site] 00065
4 std::logic_error::logic_error(char const*) [call site] 00066
3 Pipeline::~Pipeline() [function] [call site] 00067
2 Pl_Flate::write(unsigned char const*, unsigned long) [function] [call site] 00068
3 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] 00069
3 Pl_Flate::handleData(unsigned char const*, unsigned long, int) [function] [call site] 00070
4 void qpdf::util::no_ci_rt_error_if<char const (&) [59]>(bool, char const (&) [59]) [function] [call site] 00071
5 __cxa_allocate_exception [call site] 00072
5 std::runtime_error::runtime_error(char const*) [call site] 00073
5 __cxa_throw [call site] 00074
5 std::runtime_error::~runtime_error() [call site] 00075
5 __cxa_free_exception [call site] 00076
4 unsigned int QIntC::to_uint<unsigned long>(unsigned long const&) [function] [call site] 00077
5 QIntC::IntConverter<unsigned long, unsigned int, false, false>::convert(unsigned long const&) [function] [call site] 00078
6 QIntC::IntConverter<unsigned long, unsigned int, false, false>::error(unsigned long) [function] [call site] 00079
4 deflateInit_ [function] [call site] 00080
5 deflateInit2_ [function] [call site] 00081
6 deflateEnd [function] [call site] 00082
7 deflateStateCheck [function] [call site] 00083
6 deflateReset [function] [call site] 00084
7 deflateResetKeep [function] [call site] 00085
8 deflateStateCheck [function] [call site] 00086
8 crc32 [function] [call site] 00087
9 crc32_z [function] [call site] 00088
10 crc_word [function] [call site] 00089
10 crc_word [function] [call site] 00090
10 crc_word [function] [call site] 00091
10 crc_word [function] [call site] 00092
10 crc_word [function] [call site] 00093
10 byte_swap [function] [call site] 00094
10 crc_word_big [function] [call site] 00095
10 crc_word_big [function] [call site] 00096
10 crc_word_big [function] [call site] 00097
10 crc_word_big [function] [call site] 00098
10 crc_word_big [function] [call site] 00099
10 byte_swap [function] [call site] 00100
8 _tr_init [function] [call site] 00103
9 tr_static_init [function] [call site] 00104
9 init_block [function] [call site] 00105
4 inflateInit_ [function] [call site] 00107
5 inflateInit2_ [function] [call site] 00108
6 inflateReset2 [function] [call site] 00109
7 inflateStateCheck [function] [call site] 00110
7 inflateReset [function] [call site] 00111
8 inflateStateCheck [function] [call site] 00112
8 inflateResetKeep [function] [call site] 00113
9 inflateStateCheck [function] [call site] 00114
4 Pl_Flate::checkError(char const*, int) [function] [call site] 00115
5 __cxa_allocate_exception [call site] 00116
5 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00117
5 __cxa_throw [call site] 00118
5 __cxa_free_exception [call site] 00119
4 deflate [function] [call site] 00120
5 deflateStateCheck [function] [call site] 00121
5 flush_pending [function] [call site] 00122
6 _tr_flush_bits [function] [call site] 00123
5 putShortMSB [function] [call site] 00125
5 putShortMSB [function] [call site] 00126
5 putShortMSB [function] [call site] 00127
5 flush_pending [function] [call site] 00129
5 flush_pending [function] [call site] 00131
5 flush_pending [function] [call site] 00134
5 flush_pending [function] [call site] 00137
5 flush_pending [function] [call site] 00140
5 flush_pending [function] [call site] 00142
5 flush_pending [function] [call site] 00144
5 deflate_stored [function] [call site] 00145
6 _tr_stored_block [function] [call site] 00146
7 bi_windup [function] [call site] 00147
6 flush_pending [function] [call site] 00148
6 _tr_stored_block [function] [call site] 00153
6 flush_pending [function] [call site] 00154
5 deflate_huff [function] [call site] 00155
6 fill_window [function] [call site] 00156
6 _tr_flush_block [function] [call site] 00159
7 detect_data_type [function] [call site] 00160
7 build_tree [function] [call site] 00161
8 pqdownheap [function] [call site] 00162
8 pqdownheap [function] [call site] 00163
8 pqdownheap [function] [call site] 00164
8 gen_bitlen [function] [call site] 00165
8 gen_codes [function] [call site] 00166
9 bi_reverse [function] [call site] 00167
7 build_tree [function] [call site] 00168
7 build_bl_tree [function] [call site] 00169
8 scan_tree [function] [call site] 00170
8 scan_tree [function] [call site] 00171
8 build_tree [function] [call site] 00172
7 _tr_stored_block [function] [call site] 00173
7 compress_block [function] [call site] 00174
7 send_all_trees [function] [call site] 00175
7 compress_block [function] [call site] 00178
7 init_block [function] [call site] 00179
7 bi_windup [function] [call site] 00180
6 flush_pending [function] [call site] 00181
6 _tr_flush_block [function] [call site] 00182
6 flush_pending [function] [call site] 00183
6 _tr_flush_block [function] [call site] 00184
6 flush_pending [function] [call site] 00185
5 deflate_rle [function] [call site] 00186
6 fill_window [function] [call site] 00187
6 _tr_flush_block [function] [call site] 00188
6 flush_pending [function] [call site] 00189
6 _tr_flush_block [function] [call site] 00190
6 flush_pending [function] [call site] 00191
6 _tr_flush_block [function] [call site] 00192
6 flush_pending [function] [call site] 00193
5 _tr_stored_block [function] [call site] 00196
5 flush_pending [function] [call site] 00197
5 putShortMSB [function] [call site] 00198
5 putShortMSB [function] [call site] 00199
5 flush_pending [function] [call site] 00200
4 strcmp [call site] 00225
4 Pl_Flate::warn(char const*, int) [function] [call site] 00226
4 unsigned long QIntC::to_ulong<unsigned long>(unsigned long const&) [function] [call site] 00227
5 QIntC::IntConverter<unsigned long, unsigned long, false, false>::convert(unsigned long const&) [function] [call site] 00228
6 QIntC::IntConverter<unsigned long, unsigned long, false, false>::error(unsigned long) [function] [call site] 00229
4 __cxa_allocate_exception [call site] 00230
4 std::runtime_error::runtime_error(char const*) [call site] 00231
4 __cxa_throw [call site] 00232
4 std::runtime_error::~runtime_error() [call site] 00233
4 __cxa_free_exception [call site] 00234
4 Pipeline::next() const [function] [call site] 00235
4 unsigned int QIntC::to_uint<unsigned long>(unsigned long const&) [function] [call site] 00236
4 Pl_Flate::checkError(char const*, int) [function] [call site] 00237
2 Pl_Flate::finish() [function] [call site] 00238
3 __cxa_allocate_exception [call site] 00239
3 std::runtime_error::runtime_error(char const*) [call site] 00240
3 __cxa_throw [call site] 00241
3 std::runtime_error::~runtime_error() [call site] 00242
3 __cxa_free_exception [call site] 00243
3 Pl_Flate::finish_zopfli() [function] [call site] 00244
3 __cxa_begin_catch [call site] 00245
3 Pipeline::next() const [function] [call site] 00246
3 Pl_Flate::handleData(unsigned char const*, unsigned long, int) [function] [call site] 00247
3 deflateEnd [function] [call site] 00248
3 inflateEnd [function] [call site] 00249
4 inflateStateCheck [function] [call site] 00250
3 Pl_Flate::checkError(char const*, int) [function] [call site] 00251
3 __cxa_begin_catch [call site] 00252
3 __cxa_end_catch [call site] 00253
3 __cxa_allocate_exception [call site] 00254
3 std::runtime_error::runtime_error(char const*) [call site] 00255
3 __cxa_throw [call site] 00256
3 __cxa_free_exception [call site] 00257
3 __cxa_end_catch [call site] 00258
3 Pipeline::next() const [function] [call site] 00259
3 __clang_call_terminate [call site] 00260
4 __cxa_begin_catch [call site] 00261
2 __cxa_begin_catch [call site] 00262
2 __cxa_end_catch [call site] 00263
2 Pl_Flate::~Pl_Flate() [function] [call site] 00264
3 Pipeline::~Pipeline() [function] [call site] 00265
2 Pl_Discard::~Pl_Discard() [function] [call site] 00266
3 Pipeline::~Pipeline() [function] [call site] 00267
2 __clang_call_terminate [call site] 00268