Fuzz introspector: dct_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
56 135 init_simd call site: 00135 jinit_forward_dct
32 90 std_huff_tables call site: 00090 jpeg_start_compress
30 192 unsigned int QIntC::to_uint (int const&) call site: 00192 jpeg_finish_compress
19 269 master_selection call site: 00269 jinit_1pass_quantizer
17 22 qpdf::global::Options::fuzz_mode(bool) call site: 00022 _ZN4qpdf4util4fitsIiTkNSt3__18integralEjQsr3stdE8integralIT_EEEbT0_
11 40 qpdf::global::set_uint32(qpdf_param_e, unsigned int) call site: 00040 __cxa_allocate_exception
11 74 jinit_memory_mgr call site: 00074 jpeg_set_defaults
9 245 jpeg_core_output_dimensions call site: 00245 jdiv_round_up
7 237 jpeg_calc_output_dimensions call site: 00237 jdiv_round_up
3 65 Pl_DCT::finish() call site: 00065 jpeg_CreateCompress
3 293 jinit_color_deconverter call site: 00293 jsimd_set_ycc_rgb565
2 346 Pl_DCT::finish() call site: 00346 jpeg_destroy_compress

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 setenv [call site] 00001
1 FuzzHelper::FuzzHelper(unsigned char const*, unsigned long) [function] [call site] 00002
1 FuzzHelper::run() [function] [call site] 00003
2 qpdf::global::options::fuzz_mode(bool) [function] [call site] 00004
3 qpdf::global::set_uint32(qpdf_param_e, unsigned int) [function] [call site] 00005
4 qpdf_global_set_uint32 [function] [call site] 00006
5 qpdf::global::Options::inspection_mode(bool) [function] [call site] 00007
5 qpdf::global::Options::fuzz_mode(bool) [function] [call site] 00008
6 qpdf::global::Limits::dct_max_memory(long) [function] [call site] 00009
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralElQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00010
6 qpdf::global::Limits::dct_max_progressive_scans(int) [function] [call site] 00011
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEiQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00012
6 qpdf::global::Options::dct_throw_on_corrupt_data(bool) [function] [call site] 00013
6 qpdf::global::Limits::png_max_memory(unsigned long long) [function] [call site] 00014
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEyQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00015
6 qpdf::global::Limits::flate_max_memory(unsigned long long) [function] [call site] 00016
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEyQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00017
6 qpdf::global::Limits::run_length_max_memory(unsigned long long) [function] [call site] 00018
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEyQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00019
6 qpdf::global::Limits::tiff_max_memory(unsigned long long) [function] [call site] 00020
7 _ZN4qpdf4util4fitsIjTkNSt3__18integralEyQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00021
6 qpdf::global::Limits::doc_max_warnings(unsigned int) [function] [call site] 00022
5 qpdf::global::Options::default_limits(bool) [function] [call site] 00023
6 qpdf::global::Limits::disable_defaults() [function] [call site] 00024
5 qpdf::global::Options::dct_throw_on_corrupt_data(bool) [function] [call site] 00025
5 qpdf::global::Limits::doc_max_warnings(unsigned int) [function] [call site] 00026
5 qpdf::global::Limits::parser_max_nesting(unsigned int) [function] [call site] 00027
5 qpdf::global::Limits::parser_max_errors(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::parser_max_container_size(bool, unsigned int) [function] [call site] 00030
5 qpdf::global::Limits::max_stream_filters(unsigned int) [function] [call site] 00031
5 _ZN4qpdf4util4fitsIlTkNSt3__18integralEjQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00032
5 qpdf::global::Limits::dct_max_memory(long) [function] [call site] 00033
5 _ZN4qpdf4util4fitsIiTkNSt3__18integralEjQsr3stdE8integralIT_EEEbT0_ [function] [call site] 00034
5 qpdf::global::Limits::dct_max_progressive_scans(int) [function] [call site] 00035
5 qpdf::global::Limits::flate_max_memory(unsigned long long) [function] [call site] 00036
5 qpdf::global::Limits::png_max_memory(unsigned long long) [function] [call site] 00037
5 qpdf::global::Limits::run_length_max_memory(unsigned long long) [function] [call site] 00038
5 qpdf::global::Limits::tiff_max_memory(unsigned long long) [function] [call site] 00039
4 qpdf::global::handle_result(qpdf_result_e) [function] [call site] 00040
5 QUtil::handle_result_code(qpdf_result_e, std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00041
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] 00042
7 __cxa_allocate_exception [call site] 00043
7 std::logic_error::logic_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00044
7 __cxa_throw [call site] 00045
7 std::logic_error::~logic_error() [call site] 00046
7 __cxa_free_exception [call site] 00047
6 __cxa_allocate_exception [call site] 00048
6 std::logic_error::logic_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00049
6 __cxa_throw [call site] 00050
6 __cxa_free_exception [call site] 00051
2 Pl_Discard::Pl_Discard() [function] [call site] 00052
3 Pipeline::Pipeline(char const*, Pipeline*) [function] [call site] 00053
2 Pl_DCT::Pl_DCT(char const*, Pipeline*) [function] [call site] 00054
3 Pipeline::Pipeline(char const*, Pipeline*) [function] [call site] 00055
3 void qpdf::util::assertion<char const (&) [46]>(bool, char const (&) [46]) [function] [call site] 00056
4 std::logic_error::logic_error(char const*) [call site] 00057
3 Pipeline::~Pipeline() [function] [call site] 00058
2 Pl_DCT::write(unsigned char const*, unsigned long) [function] [call site] 00059
2 Pl_DCT::finish() [function] [call site] 00060
3 Pipeline::next() const [function] [call site] 00061
3 (anonymous namespace)::qpdf_jpeg_error_mgr::qpdf_jpeg_error_mgr() [function] [call site] 00062
3 jpeg_std_error [function] [call site] 00063
3 jpeg_std_error [function] [call site] 00064
3 _setjmp [call site] 00065
3 Pl_DCT::compress(void*) [function] [call site] 00066
4 jpeg_CreateCompress [function] [call site] 00067
5 jinit_memory_mgr [function] [call site] 00068
6 jpeg_mem_init [function] [call site] 00069
6 jpeg_get_small [function] [call site] 00070
6 jpeg_mem_term [function] [call site] 00071
6 getenv [call site] 00072
6 strlen [call site] 00073
6 strncpy [call site] 00074
6 __isoc99_sscanf [call site] 00075
4 Pipeline::next() const [function] [call site] 00076
4 jpeg_pipeline_dest(jpeg_compress_struct*, unsigned char*, unsigned long, Pipeline*) [function] [call site] 00077
4 jpeg_set_defaults [function] [call site] 00078
5 jpeg_set_quality [function] [call site] 00079
6 jpeg_quality_scaling [function] [call site] 00080
6 jpeg_set_linear_quality [function] [call site] 00081
7 jpeg_add_quant_table [function] [call site] 00082
8 jpeg_alloc_quant_table [function] [call site] 00083
7 jpeg_add_quant_table [function] [call site] 00084
5 std_huff_tables [function] [call site] 00085
6 add_huff_table [function] [call site] 00086
7 jpeg_alloc_huff_table [function] [call site] 00087
6 add_huff_table [function] [call site] 00088
6 add_huff_table [function] [call site] 00089
6 add_huff_table [function] [call site] 00090
5 jpeg_default_colorspace [function] [call site] 00091
6 jpeg_set_colorspace [function] [call site] 00092
6 jpeg_set_colorspace [function] [call site] 00093
6 jpeg_set_colorspace [function] [call site] 00094
6 jpeg_set_colorspace [function] [call site] 00095
6 jpeg_set_colorspace [function] [call site] 00096
6 jpeg_set_colorspace [function] [call site] 00097
6 jpeg_set_colorspace [function] [call site] 00098
4 jpeg_start_compress [function] [call site] 00099
5 jpeg_suppress_tables [function] [call site] 00100
5 jinit_compress_master [function] [call site] 00101
6 jinit_c_master_control [function] [call site] 00102
7 validate_script [function] [call site] 00103
7 jpeg_default_colorspace [function] [call site] 00104
7 initial_setup [function] [call site] 00105
8 jdiv_round_up [function] [call site] 00106
8 jdiv_round_up [function] [call site] 00107
8 jdiv_round_up [function] [call site] 00108
8 jdiv_round_up [function] [call site] 00109
8 jdiv_round_up [function] [call site] 00110
7 using_std_huff_tables [function] [call site] 00111
8 memcmp [call site] 00112
8 memcmp [call site] 00113
8 memcmp [call site] 00114
8 memcmp [call site] 00115
8 memcmp [call site] 00116
8 memcmp [call site] 00117
8 memcmp [call site] 00118
8 memcmp [call site] 00119
6 jinit_color_converter [function] [call site] 00120
7 jsimd_set_rgb_gray [function] [call site] 00121
8 init_simd [function] [call site] 00122
9 jpeg_simd_cpu_support [call site] 00123
9 getenv [call site] 00124
9 strlen [call site] 00125
9 strncpy [call site] 00126
9 strcmp [call site] 00127
9 getenv [call site] 00128
9 strlen [call site] 00129
9 strncpy [call site] 00130
9 strcmp [call site] 00131
9 getenv [call site] 00132
9 strlen [call site] 00133
9 strncpy [call site] 00134
9 strcmp [call site] 00135
7 jsimd_set_rgb_ycc [function] [call site] 00136
8 init_simd [function] [call site] 00137
6 jinit_downsampler [function] [call site] 00138
7 jsimd_set_h2v1_downsample [function] [call site] 00139
8 init_simd [function] [call site] 00140
7 jsimd_set_h2v2_downsample [function] [call site] 00141
8 init_simd [function] [call site] 00142
6 jinit_c_prep_controller [function] [call site] 00143
7 create_context_buffer [function] [call site] 00144
6 j12init_color_converter [function] [call site] 00145
6 j12init_downsampler [function] [call site] 00146
6 j12init_c_prep_controller [function] [call site] 00147
6 j16init_color_converter [function] [call site] 00148
6 j16init_downsampler [function] [call site] 00149
6 j16init_c_prep_controller [function] [call site] 00150
6 jinit_lossless_compressor [function] [call site] 00151
6 j12init_lossless_compressor [function] [call site] 00152
6 j16init_lossless_compressor [function] [call site] 00153
6 jinit_lhuff_encoder [function] [call site] 00154
6 jinit_c_diff_controller [function] [call site] 00155
6 j12init_c_diff_controller [function] [call site] 00162
6 j16init_c_diff_controller [function] [call site] 00163
6 jinit_forward_dct [function] [call site] 00164
7 jsimd_set_fdct_islow [function] [call site] 00165
8 init_simd [function] [call site] 00166
7 jsimd_set_fdct_ifast [function] [call site] 00167
8 init_simd [function] [call site] 00168
7 jsimd_set_fdct_float [function] [call site] 00169
8 init_simd [function] [call site] 00170
7 jsimd_set_convsamp [function] [call site] 00171
8 init_simd [function] [call site] 00172
7 jsimd_set_quantize [function] [call site] 00173
8 init_simd [function] [call site] 00174
7 jsimd_set_convsamp_float [function] [call site] 00175
8 init_simd [function] [call site] 00176
7 jsimd_set_quantize_float [function] [call site] 00177
8 init_simd [function] [call site] 00178
6 j12init_forward_dct [function] [call site] 00179
6 jinit_arith_encoder [function] [call site] 00180
6 jinit_phuff_encoder [function] [call site] 00181
6 jinit_huff_encoder [function] [call site] 00182
6 j12init_c_coef_controller [function] [call site] 00183
6 jinit_c_coef_controller [function] [call site] 00186
6 jinit_c_main_controller [function] [call site] 00187
6 j12init_c_main_controller [function] [call site] 00188
6 j16init_c_main_controller [function] [call site] 00189
6 jinit_marker_writer [function] [call site] 00190
4 unsigned int QIntC::to_uint<int>(int const&) [function] [call site] 00191
5 QIntC::IntConverter<int, unsigned int, true, false>::convert(int const&) [function] [call site] 00192
6 QIntC::IntConverter<int, unsigned int, true, false>::error(int) [function] [call site] 00193
7 __cxa_allocate_exception [call site] 00194
7 std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str[abi:ne220000]() const & [function] [call site] 00195
8 std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str[abi:ne220000]() const & [function] [call site] 00196
7 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] 00197
8 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00198
7 __cxa_throw [call site] 00199
7 __cxa_free_exception [call site] 00200
4 unsigned long QIntC::to_size<unsigned int>(unsigned int const&) [function] [call site] 00201
5 QIntC::IntConverter<unsigned int, unsigned long, false, false>::convert(unsigned int const&) [function] [call site] 00202
6 QIntC::IntConverter<unsigned int, unsigned long, false, false>::error(unsigned int) [function] [call site] 00203
7 __cxa_allocate_exception [call site] 00204
7 std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str[abi:ne220000]() const & [function] [call site] 00205
7 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] 00206
7 __cxa_throw [call site] 00207
7 __cxa_free_exception [call site] 00208
4 unsigned long QIntC::to_size<unsigned int>(unsigned int const&) [function] [call site] 00209
4 unsigned long QIntC::to_size<int>(int const&) [function] [call site] 00210
5 QIntC::IntConverter<int, unsigned long, true, false>::convert(int const&) [function] [call site] 00211
6 QIntC::IntConverter<int, unsigned long, true, false>::error(int) [function] [call site] 00212
4 void qpdf::util::no_ci_rt_error_if<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] 00213
5 __cxa_allocate_exception [call site] 00214
5 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00215
5 __cxa_throw [call site] 00216
5 std::runtime_error::~runtime_error() [call site] 00217
5 __cxa_free_exception [call site] 00218
4 jpeg_write_scanlines [function] [call site] 00219
4 jpeg_finish_compress [function] [call site] 00220
5 jpeg_abort [function] [call site] 00221
4 Pipeline::next() const [function] [call site] 00222
3 __cxa_begin_catch [call site] 00223
3 longjmp [call site] 00224
3 Pl_DCT::decompress(void*) [function] [call site] 00225
4 jpeg_CreateDecompress [function] [call site] 00226
5 jinit_memory_mgr [function] [call site] 00227
5 jinit_marker_reader [function] [call site] 00228
6 reset_marker_reader [function] [call site] 00229
5 jinit_input_controller [function] [call site] 00230
4 jpeg_buffer_src(jpeg_decompress_struct*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) [function] [call site] 00231
4 jpeg_read_header [function] [call site] 00232
5 jpeg_consume_input [function] [call site] 00233
6 default_decompress_parms [function] [call site] 00234
5 jpeg_abort [function] [call site] 00235
4 jpeg_calc_output_dimensions [function] [call site] 00236
5 jpeg_core_output_dimensions [function] [call site] 00237
6 jdiv_round_up [function] [call site] 00238
6 jdiv_round_up [function] [call site] 00239
6 jdiv_round_up [function] [call site] 00240
6 jdiv_round_up [function] [call site] 00241
6 jdiv_round_up [function] [call site] 00242
6 jdiv_round_up [function] [call site] 00243
6 jdiv_round_up [function] [call site] 00244
6 jdiv_round_up [function] [call site] 00245
6 jdiv_round_up [function] [call site] 00246
6 jdiv_round_up [function] [call site] 00247
6 jdiv_round_up [function] [call site] 00248
6 jdiv_round_up [function] [call site] 00249
6 jdiv_round_up [function] [call site] 00250
6 jdiv_round_up [function] [call site] 00251
6 jdiv_round_up [function] [call site] 00252
6 jdiv_round_up [function] [call site] 00253
6 jdiv_round_up [function] [call site] 00254
5 jdiv_round_up [function] [call site] 00255
5 jdiv_round_up [function] [call site] 00256
5 use_merged_upsample [function] [call site] 00257
4 unsigned int QIntC::to_uint<int>(int const&) [function] [call site] 00258
4 __cxa_allocate_exception [call site] 00259
4 std::runtime_error::runtime_error(char const*) [call site] 00260
4 __cxa_throw [call site] 00261
4 std::runtime_error::~runtime_error() [call site] 00262
4 __cxa_free_exception [call site] 00263
4 jpeg_start_decompress [function] [call site] 00264
5 jinit_master_decompress [function] [call site] 00265
6 master_selection [function] [call site] 00266
7 jpeg_calc_output_dimensions [function] [call site] 00267
7 prepare_range_limit_table [function] [call site] 00268
7 use_merged_upsample [function] [call site] 00269
7 jinit_1pass_quantizer [function] [call site] 00270
8 create_colormap [function] [call site] 00271
9 select_ncolors [function] [call site] 00272
9 output_value [function] [call site] 00273
8 create_colorindex [function] [call site] 00274
9 largest_input_value [function] [call site] 00275
9 largest_input_value [function] [call site] 00276
8 alloc_fs_workspace [function] [call site] 00277
7 j12init_1pass_quantizer [function] [call site] 00278
7 jinit_2pass_quantizer [function] [call site] 00279
8 init_error_limit [function] [call site] 00280
7 j12init_2pass_quantizer [function] [call site] 00281
7 jinit_merged_upsampler [function] [call site] 00282
8 jsimd_set_h2v2_merged_upsample [function] [call site] 00283
9 init_simd [function] [call site] 00284
8 jsimd_set_h2v1_merged_upsample [function] [call site] 00285
9 init_simd [function] [call site] 00286
8 build_ycc_rgb_table [function] [call site] 00287
7 j12init_merged_upsampler [function] [call site] 00288
7 jinit_color_deconverter [function] [call site] 00289
8 build_rgb_y_table [function] [call site] 00290
8 jsimd_set_ycc_rgb [function] [call site] 00291
9 init_simd [function] [call site] 00292
8 build_ycc_rgb_table [function] [call site] 00293
8 jsimd_set_ycc_rgb565 [function] [call site] 00294
8 build_ycc_rgb_table [function] [call site] 00295
8 build_ycc_rgb_table [function] [call site] 00296
8 build_ycc_rgb_table [function] [call site] 00297
7 jinit_upsampler [function] [call site] 00298
8 jsimd_set_h2v1_fancy_upsample [function] [call site] 00299
9 init_simd [function] [call site] 00300
8 jsimd_set_h2v1_upsample [function] [call site] 00301
9 init_simd [function] [call site] 00302
8 jsimd_set_h2v2_fancy_upsample [function] [call site] 00303
9 init_simd [function] [call site] 00304
8 jsimd_set_h2v2_upsample [function] [call site] 00305
9 init_simd [function] [call site] 00306
8 jround_up [function] [call site] 00307
7 j12init_color_deconverter [function] [call site] 00308
7 j12init_upsampler [function] [call site] 00309
7 j16init_color_deconverter [function] [call site] 00310
7 j16init_upsampler [function] [call site] 00311
7 jinit_d_post_controller [function] [call site] 00312
8 jround_up [function] [call site] 00313
7 j12init_d_post_controller [function] [call site] 00314
7 j16init_d_post_controller [function] [call site] 00315
7 jinit_lossless_decompressor [function] [call site] 00316
7 j12init_lossless_decompressor [function] [call site] 00317
7 j16init_lossless_decompressor [function] [call site] 00318
7 jinit_lhuff_decoder [function] [call site] 00319
7 jinit_d_diff_controller [function] [call site] 00320
7 j12init_d_diff_controller [function] [call site] 00324
7 j16init_d_diff_controller [function] [call site] 00325
7 jinit_inverse_dct [function] [call site] 00326
7 j12init_inverse_dct [function] [call site] 00327
7 jinit_arith_decoder [function] [call site] 00328
7 jinit_phuff_decoder [function] [call site] 00329
7 jinit_huff_decoder [function] [call site] 00330
8 std_huff_tables [function] [call site] 00331
7 j12init_d_coef_controller [function] [call site] 00332
7 jinit_d_coef_controller [function] [call site] 00335
7 jinit_d_main_controller [function] [call site] 00336
8 alloc_funny_pointers [function] [call site] 00337
7 j12init_d_main_controller [function] [call site] 00338
7 j16init_d_main_controller [function] [call site] 00339
5 output_pass_setup [function] [call site] 00340
4 jpeg_read_scanlines [function] [call site] 00341
4 Pipeline::next() const [function] [call site] 00342
4 jpeg_finish_decompress [function] [call site] 00343
5 jpeg_abort [function] [call site] 00344
4 Pipeline::next() const [function] [call site] 00345
3 __cxa_end_catch [call site] 00346
3 jpeg_destroy_compress [function] [call site] 00347
4 jpeg_destroy [function] [call site] 00348
3 jpeg_destroy_decompress [function] [call site] 00349
4 jpeg_destroy [function] [call site] 00350
3 __cxa_allocate_exception [call site] 00351
3 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00352
3 __cxa_throw [call site] 00353
3 __cxa_free_exception [call site] 00354
3 (anonymous namespace)::qpdf_jpeg_error_mgr::~qpdf_jpeg_error_mgr() [function] [call site] 00355
3 __clang_call_terminate [call site] 00356
4 __cxa_begin_catch [call site] 00357
2 __cxa_begin_catch [call site] 00358
2 __cxa_end_catch [call site] 00359
2 Pl_DCT::~Pl_DCT() [function] [call site] 00360
3 Pipeline::~Pipeline() [function] [call site] 00361
2 Pl_Discard::~Pl_Discard() [function] [call site] 00362
3 Pipeline::~Pipeline() [function] [call site] 00363
2 __clang_call_terminate [call site] 00364