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 |
---|---|---|---|---|---|---|---|
28 | 28 |
1 :
['Pl_PNGFilter::encodeRow()'] |
28 | 28 | Pl_PNGFilter::processRow() | call site: 00000 | /src/qpdf/libqpdf/Pl_PNGFilter.cc:100 |
8 | 8 |
4 :
['__cxa_allocate_exception', 'std::runtime_error::runtime_error(char const*)', '__cxa_free_exception', '__cxa_throw'] |
8 | 10 | Pl_PNGFilter::Pl_PNGFilter(charconst*,Pipeline*,Pl_PNGFilter::action_e,unsignedint,unsignedint,unsignedint) | call site: 00000 | /src/qpdf/libqpdf/Pl_PNGFilter.cc:49 |
0 | 0 | None | 8 | 10 | Pl_PNGFilter::Pl_PNGFilter(charconst*,Pipeline*,Pl_PNGFilter::action_e,unsignedint,unsignedint,unsignedint) | call site: 00000 | /src/qpdf/libqpdf/Pl_PNGFilter.cc:36 |
0 | 0 | None | 8 | 10 | Pl_PNGFilter::Pl_PNGFilter(charconst*,Pipeline*,Pl_PNGFilter::action_e,unsignedint,unsignedint,unsignedint) | call site: 00000 | /src/qpdf/libqpdf/Pl_PNGFilter.cc:46 |
LLVMFuzzerTestOneInput
[function]
[call site]
00000
FuzzHelper::FuzzHelper(unsigned char const*, unsigned long)
[function]
[call site]
00001
FuzzHelper::run()
[function]
[call site]
00002
FuzzHelper::doChecks()
[function]
[call site]
00003
Pl_Discard::Pl_Discard()
[function]
[call site]
00004
Pipeline::Pipeline(char const*, Pipeline*)
[function]
[call site]
00005
Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int)
[function]
[call site]
00006
Pipeline::Pipeline(char const*, Pipeline*)
[function]
[call site]
00007
__cxa_allocate_exception
[call site]
00008
__cxa_allocate_exception
[call site]
00009
__cxa_allocate_exception
[call site]
00010
__cxa_allocate_exception
[call site]
00011
std::__1::shared_ptr<unsigned char> QUtil::make_shared_array<unsigned char>(unsigned long)
[function]
[call site]
00012
std::__1::shared_ptr<unsigned char> QUtil::make_shared_array<unsigned char>(unsigned long)
[function]
[call site]
00013
Pipeline::~Pipeline()
[function]
[call site]
00014
Pl_PNGFilter::write(unsigned char const*, unsigned long)
[function]
[call site]
00015
Pl_PNGFilter::processRow()
[function]
[call site]
00016
Pl_PNGFilter::encodeRow()
[function]
[call site]
00017
Pipeline::getNext(bool)
[function]
[call site]
00018
__cxa_allocate_exception
[call site]
00019
Pipeline::getNext(bool)
[function]
[call site]
00020
Pipeline::getNext(bool)
[function]
[call site]
00021
Pl_PNGFilter::decodeRow()
[function]
[call site]
00022
Pl_PNGFilter::decodeSub()
[function]
[call site]
00023
QTC::TC(char const*, char const*, int)
[function]
[call site]
00024
Pl_PNGFilter::decodeUp()
[function]
[call site]
00025
QTC::TC(char const*, char const*, int)
[function]
[call site]
00026
Pl_PNGFilter::decodeAverage()
[function]
[call site]
00027
QTC::TC(char const*, char const*, int)
[function]
[call site]
00028
Pl_PNGFilter::decodePaeth()
[function]
[call site]
00029
QTC::TC(char const*, char const*, int)
[function]
[call site]
00030
Pl_PNGFilter::PaethPredictor(int, int, int)
[function]
[call site]
00031
abs_diff(int, int)
[function]
[call site]
00032
abs_diff(int, int)
[function]
[call site]
00033
abs_diff(int, int)
[function]
[call site]
00034
Pipeline::getNext(bool)
[function]
[call site]
00035
Pl_PNGFilter::finish()
[function]
[call site]
00036
Pl_PNGFilter::processRow()
[function]
[call site]
00037
Pipeline::getNext(bool)
[function]
[call site]
00038
Pl_PNGFilter::~Pl_PNGFilter()
[function]
[call site]
00039
Pipeline::~Pipeline()
[function]
[call site]
00040
Pl_Discard::~Pl_Discard()
[function]
[call site]
00041
Pipeline::~Pipeline()
[function]
[call site]
00042
__cxa_begin_catch
[call site]
00043