Fuzz introspector: pngpredictor_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
5 8 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) call site: 00008 __cxa_allocate_exception
5 14 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) call site: 00014 __cxa_allocate_exception
4 27 Pl_PNGFilter::write(unsigned char const*, unsigned long) call site: 00027
3 53 FuzzHelper::run() call site: 00053 __cxa_end_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 FuzzHelper::doChecks() [function] [call site] 00003
3 Pl_Discard::Pl_Discard() [function] [call site] 00004
4 Pipeline::Pipeline(char const*, Pipeline*) [function] [call site] 00005
3 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) [function] [call site] 00006
4 Pipeline::Pipeline(char const*, Pipeline*) [function] [call site] 00007
4 void qpdf::util::assertion<char const (&) [52]>(bool, char const (&) [52]) [function] [call site] 00008
5 __cxa_allocate_exception [call site] 00009
5 std::logic_error::logic_error(char const*) [call site] 00010
5 __cxa_throw [call site] 00011
5 std::logic_error::~logic_error() [call site] 00012
5 __cxa_free_exception [call site] 00013
4 void qpdf::util::no_ci_rt_error_if<char const (&) [49]>(bool, char const (&) [49]) [function] [call site] 00014
5 __cxa_allocate_exception [call site] 00015
5 std::runtime_error::runtime_error(char const*) [call site] 00016
5 __cxa_throw [call site] 00017
5 std::runtime_error::~runtime_error() [call site] 00018
5 __cxa_free_exception [call site] 00019
4 void qpdf::util::no_ci_rt_error_if<char const (&) [69]>(bool, char const (&) [69]) [function] [call site] 00020
4 void qpdf::util::no_ci_rt_error_if<char const (&) [45]>(bool, char const (&) [45]) [function] [call site] 00021
4 void qpdf::util::no_ci_rt_error_if<char const (&) [32]>(bool, char const (&) [32]) [function] [call site] 00022
4 std::__1::shared_ptr<unsigned char> QUtil::make_shared_array<unsigned char>(unsigned long) [function] [call site] 00023
4 std::__1::shared_ptr<unsigned char> QUtil::make_shared_array<unsigned char>(unsigned long) [function] [call site] 00024
4 Pipeline::~Pipeline() [function] [call site] 00025
3 Pl_PNGFilter::write(unsigned char const*, unsigned long) [function] [call site] 00026
4 Pl_PNGFilter::processRow() [function] [call site] 00027
5 Pl_PNGFilter::encodeRow() [function] [call site] 00028
6 Pipeline::next() const [function] [call site] 00029
6 Pipeline::next() const [function] [call site] 00030
6 Pipeline::next() const [function] [call site] 00031
5 Pl_PNGFilter::decodeRow() [function] [call site] 00032
6 Pl_PNGFilter::decodeSub() [function] [call site] 00033
7 QTC::TC(char const*, char const*, int) [function] [call site] 00034
6 Pl_PNGFilter::decodeUp() [function] [call site] 00035
7 QTC::TC(char const*, char const*, int) [function] [call site] 00036
6 Pl_PNGFilter::decodeAverage() [function] [call site] 00037
7 QTC::TC(char const*, char const*, int) [function] [call site] 00038
6 Pl_PNGFilter::decodePaeth() [function] [call site] 00039
7 QTC::TC(char const*, char const*, int) [function] [call site] 00040
7 Pl_PNGFilter::PaethPredictor(int, int, int) [function] [call site] 00041
8 abs_diff(int, int) [function] [call site] 00042
8 abs_diff(int, int) [function] [call site] 00043
8 abs_diff(int, int) [function] [call site] 00044
6 Pipeline::next() const [function] [call site] 00045
3 Pl_PNGFilter::finish() [function] [call site] 00046
4 Pl_PNGFilter::processRow() [function] [call site] 00047
4 Pipeline::next() const [function] [call site] 00048
3 Pl_PNGFilter::~Pl_PNGFilter() [function] [call site] 00049
4 Pipeline::~Pipeline() [function] [call site] 00050
3 Pl_Discard::~Pl_Discard() [function] [call site] 00051
4 Pipeline::~Pipeline() [function] [call site] 00052
2 __cxa_begin_catch [call site] 00053
2 __cxa_end_catch [call site] 00054
2 __clang_call_terminate [call site] 00055
3 __cxa_begin_catch [call site] 00056