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

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
future_pngpredictor_fuzzer /src/qpdf/fuzz/pngpredictor_fuzzer.cc 71 28 8 9 218 170 pngpredictor_fuzzer.cc
lzw_fuzzer /src/qpdf/fuzz/lzw_fuzzer.cc 82 48 10 12 258 195 lzw_fuzzer.cc
future_tiffpredictor_fuzzer /src/qpdf/fuzz/tiffpredictor_fuzzer.cc 91 37 11 14 281 223 tiffpredictor_fuzzer.cc
future_runlength_fuzzer /src/qpdf/fuzz/runlength_fuzzer.cc 61 26 6 7 189 134 runlength_fuzzer.cc
future_lzw_fuzzer /src/qpdf/fuzz/lzw_fuzzer.cc 82 48 10 12 258 195 lzw_fuzzer.cc
ascii85_fuzzer /src/qpdf/fuzz/ascii85_fuzzer.cc 47 26 5 8 132 91 ascii85_fuzzer.cc
future_flate_fuzzer /src/qpdf/fuzz/flate_fuzzer.cc 138 420 11 16 2642 1025 flate_fuzzer.cc
runlength_fuzzer /src/qpdf/fuzz/runlength_fuzzer.cc 61 26 6 7 189 134 runlength_fuzzer.cc
flate_fuzzer /src/qpdf/fuzz/flate_fuzzer.cc 138 420 11 16 2642 1025 flate_fuzzer.cc
tiffpredictor_fuzzer /src/qpdf/fuzz/tiffpredictor_fuzzer.cc 91 37 11 14 281 223 tiffpredictor_fuzzer.cc
future_ascii85_fuzzer /src/qpdf/fuzz/ascii85_fuzzer.cc 47 26 5 8 132 91 ascii85_fuzzer.cc
future_dct_fuzzer /src/qpdf/fuzz/dct_fuzzer.cc 237 517 10 54 4001 1686 dct_fuzzer.cc
future_json_fuzzer /src/qpdf/fuzz/json_fuzzer.cc 1497 2401 41 65 11903 8881 json_fuzzer.cc
qpdf_outlines_fuzzer /src/qpdf/fuzz/qpdf_outlines_fuzzer.cc 1667 2410 41 72 12984 9778 qpdf_outlines_fuzzer.cc
pngpredictor_fuzzer /src/qpdf/fuzz/pngpredictor_fuzzer.cc 71 28 8 9 218 170 pngpredictor_fuzzer.cc
future_qpdf_outlines_fuzzer /src/qpdf/fuzz/qpdf_outlines_fuzzer.cc 1667 2412 41 72 12977 9772 qpdf_outlines_fuzzer.cc
dct_fuzzer /src/qpdf/fuzz/dct_fuzzer.cc 237 517 10 54 4001 1686 dct_fuzzer.cc
hex_fuzzer /src/qpdf/fuzz/hex_fuzzer.cc 44 28 5 8 126 83 hex_fuzzer.cc
future_qpdf_fuzzer /src/qpdf/fuzz/qpdf_fuzzer.cc 2134 2340 41 90 18941 13041 qpdf_fuzzer.cc
future_hex_fuzzer /src/qpdf/fuzz/hex_fuzzer.cc 44 28 5 8 126 83 hex_fuzzer.cc
qpdf_lin_fuzzer /src/qpdf/fuzz/qpdf_lin_fuzzer.cc 2138 2336 41 90 18964 13051 qpdf_lin_fuzzer.cc
future_qpdf_crypt_fuzzer /src/qpdf/fuzz/qpdf_crypt_fuzzer.cc 2156 2329 41 90 19113 13135 qpdf_crypt_fuzzer.cc
qpdf_crypt_fuzzer /src/qpdf/fuzz/qpdf_crypt_fuzzer.cc 2156 2327 41 90 19120 13141 qpdf_crypt_fuzzer.cc
future_qpdf_crypt_insecure_fuzzer /src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc 2154 2330 41 90 19101 13133 qpdf_crypt_insecure_fuzzer.cc
qpdf_crypt_insecure_fuzzer /src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc 2154 2328 41 90 19108 13139 qpdf_crypt_insecure_fuzzer.cc
qpdf_pages_fuzzer /src/qpdf/fuzz/qpdf_pages_fuzzer.cc 2306 2102 41 98 19493 14507 qpdf_pages_fuzzer.cc
future_qpdf_pages_fuzzer /src/qpdf/fuzz/qpdf_pages_fuzzer.cc 2306 2104 41 98 19486 14501 qpdf_pages_fuzzer.cc
json_fuzzer /src/qpdf/fuzz/json_fuzzer.cc 1497 2399 41 65 11903 8881 json_fuzzer.cc
future_qpdf_lin_fuzzer /src/qpdf/fuzz/qpdf_lin_fuzzer.cc 2138 2338 41 90 18957 13045 qpdf_lin_fuzzer.cc
qpdf_fuzzer /src/qpdf/fuzz/qpdf_fuzzer.cc 2134 2338 41 90 18948 13047 qpdf_fuzzer.cc

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: future_pngpredictor_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 17 29.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 40 70.1%
All colors 57 100

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

Runtime coverage analysis

Covered functions
30
Functions that are reachable but not covered
16
Reachable functions
71
Percentage of reachable functions covered
77.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/pngpredictor_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_PNGFilter.cc 12
/src/qpdf/libqpdf/qpdf/Util.hh 5
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1

Fuzzer: lzw_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 20 27.0%
gold [1:9] 0 0.0%
yellow [10:29] 5 6.75%
greenyellow [30:49] 5 6.75%
lawngreen 50+ 44 59.4%
All colors 74 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
8 20 unsigned int QIntC::to_uint (unsigned long const&) call site: 00020 __cxa_allocate_exception
5 8 Pl_LZWDecoder::Pl_LZWDecoder(char const*, Pipeline*, bool) call site: 00008 __cxa_allocate_exception
5 35 Pl_LZWDecoder::getFirstChar(unsigned int) call site: 00035 __cxa_allocate_exception
1 41 Pl_LZWDecoder::getFirstChar(unsigned int) call site: 00041
1 72 FuzzHelper::run() call site: 00072 __cxa_begin_catch

Runtime coverage analysis

Covered functions
34
Functions that are reachable but not covered
25
Reachable functions
82
Percentage of reachable functions covered
69.51%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/lzw_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_LZWDecoder.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 5
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 3
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 1
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/qpdf/Pl_LZWDecoder.hh 1

Fuzzer: future_tiffpredictor_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 42 50.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 41 49.3%
All colors 83 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
13 32 unsigned int QIntC::to_uint (unsigned long const&) call site: 00032 __cxa_allocate_exception
10 47 BitStream::getBitsSigned(unsigned long) call site: 00047 __cxa_allocate_exception
5 8 Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int) call site: 00008 __cxa_allocate_exception
5 14 Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int) call site: 00014 __cxa_allocate_exception
5 60 BitWriter::writeBits(unsigned long long, unsigned long) call site: 00060 __cxa_allocate_exception
3 79 FuzzHelper::run() call site: 00079 __cxa_end_catch
1 66 Pl_TIFFPredictor::processRow() call site: 00066

Runtime coverage analysis

Covered functions
33
Functions that are reachable but not covered
30
Reachable functions
91
Percentage of reachable functions covered
67.03%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/tiffpredictor_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 4
/src/qpdf/libqpdf/qpdf/Util.hh 5
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/BitStream.cc 3
/src/qpdf/include/qpdf/QIntC.hh 3
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 2
/src/qpdf/libqpdf/qpdf/bits_functions.hh 2
/src/qpdf/libqpdf/qpdf/Pl_TIFFPredictor.hh 1

Fuzzer: future_runlength_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 20 35.7%
gold [1:9] 0 0.0%
yellow [10:29] 5 8.92%
greenyellow [30:49] 5 8.92%
lawngreen 50+ 26 46.4%
All colors 56 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
12 16 FuzzHelper::doChecks() call site: 00016
5 9 Pl_RunLength::Pl_RunLength(char const*, Pipeline*, Pl_RunLength::action_e) call site: 00009 __cxa_allocate_exception
2 36 FuzzHelper::doChecks() call site: 00036
1 54 FuzzHelper::run() call site: 00054 __cxa_begin_catch

Runtime coverage analysis

Covered functions
23
Functions that are reachable but not covered
24
Reachable functions
61
Percentage of reachable functions covered
60.66%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/runlength_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_RunLength.cc 8
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 3
/src/qpdf/libqpdf/qpdf/Util.hh 4
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1

Fuzzer: future_lzw_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 20 27.0%
gold [1:9] 0 0.0%
yellow [10:29] 5 6.75%
greenyellow [30:49] 5 6.75%
lawngreen 50+ 44 59.4%
All colors 74 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
8 20 unsigned int QIntC::to_uint (unsigned long const&) call site: 00020 __cxa_allocate_exception
5 8 Pl_LZWDecoder::Pl_LZWDecoder(char const*, Pipeline*, bool) call site: 00008 __cxa_allocate_exception
5 35 Pl_LZWDecoder::getFirstChar(unsigned int) call site: 00035 __cxa_allocate_exception
1 41 Pl_LZWDecoder::getFirstChar(unsigned int) call site: 00041
1 72 FuzzHelper::run() call site: 00072 __cxa_begin_catch

Runtime coverage analysis

Covered functions
34
Functions that are reachable but not covered
25
Reachable functions
82
Percentage of reachable functions covered
69.51%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/lzw_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_LZWDecoder.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 5
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 3
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 1
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/qpdf/Pl_LZWDecoder.hh 1

Fuzzer: ascii85_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 7 14.2%
gold [1:9] 5 10.2%
yellow [10:29] 12 24.4%
greenyellow [30:49] 2 4.08%
lawngreen 50+ 23 46.9%
All colors 49 100

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_ASCII85Decoder::Pl_ASCII85Decoder(char const*, Pipeline*) call site: 00008 __cxa_allocate_exception
1 41 FuzzHelper::doChecks() call site: 00041
1 47 FuzzHelper::run() call site: 00047 __cxa_begin_catch

Runtime coverage analysis

Covered functions
18
Functions that are reachable but not covered
16
Reachable functions
47
Percentage of reachable functions covered
65.96%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/ascii85_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_ASCII85Decoder.cc 4
/src/qpdf/libqpdf/qpdf/Util.hh 2
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_ASCII85Decoder.hh 1

Fuzzer: future_flate_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 141 62.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 86 37.8%
All colors 227 100

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 158 deflate call site: 00158 inflate
15 87 deflate call site: 00087 crc32
13 45 deflateResetKeep call site: 00045 crc32_z
11 144 deflate call site: 00144 _tr_flush_block
8 9 unsigned long QIntC::to_size (unsigned int const&) call site: 00009 __cxa_allocate_exception
8 64 deflateReset call site: 00064 inflateInit_
7 209 Pl_Flate::finish() call site: 00209 __cxa_begin_catch
6 186 unsigned long QIntC::to_ulong (unsigned long const&) call site: 00186 __cxa_allocate_exception
6 196 FuzzHelper::doChecks() call site: 00196 __cxa_allocate_exception
5 18 Pl_Flate::Pl_Flate(char const*, Pipeline*, Pl_Flate::action_e, unsigned int) call site: 00018 __cxa_allocate_exception
5 29 Pl_Flate::handleData(unsigned char const*, unsigned long, int) call site: 00029 __cxa_allocate_exception
5 138 _tr_flush_block call site: 00138 _tr_flush_block

Runtime coverage analysis

Covered functions
70
Functions that are reachable but not covered
57
Reachable functions
138
Percentage of reachable functions covered
58.7%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/flate_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 8
/src/qpdf/include/qpdf/QIntC.hh 9
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 1
/src/qpdf/libqpdf/qpdf/Util.hh 3
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1

Fuzzer: runlength_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 20 35.7%
gold [1:9] 0 0.0%
yellow [10:29] 5 8.92%
greenyellow [30:49] 5 8.92%
lawngreen 50+ 26 46.4%
All colors 56 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
12 16 FuzzHelper::doChecks() call site: 00016
5 9 Pl_RunLength::Pl_RunLength(char const*, Pipeline*, Pl_RunLength::action_e) call site: 00009 __cxa_allocate_exception
2 36 FuzzHelper::doChecks() call site: 00036
1 54 FuzzHelper::run() call site: 00054 __cxa_begin_catch

Runtime coverage analysis

Covered functions
23
Functions that are reachable but not covered
24
Reachable functions
61
Percentage of reachable functions covered
60.66%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/runlength_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_RunLength.cc 8
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 3
/src/qpdf/libqpdf/qpdf/Util.hh 4
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1

Fuzzer: flate_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 141 62.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 86 37.8%
All colors 227 100

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 158 deflate call site: 00158 inflate
15 87 deflate call site: 00087 crc32
13 45 deflateResetKeep call site: 00045 crc32_z
11 144 deflate call site: 00144 _tr_flush_block
8 9 unsigned long QIntC::to_size (unsigned int const&) call site: 00009 __cxa_allocate_exception
8 64 deflateReset call site: 00064 inflateInit_
7 209 Pl_Flate::finish() call site: 00209 __cxa_begin_catch
6 186 unsigned long QIntC::to_ulong (unsigned long const&) call site: 00186 __cxa_allocate_exception
6 196 FuzzHelper::doChecks() call site: 00196 __cxa_allocate_exception
5 18 Pl_Flate::Pl_Flate(char const*, Pipeline*, Pl_Flate::action_e, unsigned int) call site: 00018 __cxa_allocate_exception
5 29 Pl_Flate::handleData(unsigned char const*, unsigned long, int) call site: 00029 __cxa_allocate_exception
5 138 _tr_flush_block call site: 00138 _tr_flush_block

Runtime coverage analysis

Covered functions
70
Functions that are reachable but not covered
57
Reachable functions
138
Percentage of reachable functions covered
58.7%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/flate_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 8
/src/qpdf/include/qpdf/QIntC.hh 9
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 1
/src/qpdf/libqpdf/qpdf/Util.hh 3
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1

Fuzzer: tiffpredictor_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 42 50.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 41 49.3%
All colors 83 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
13 32 unsigned int QIntC::to_uint (unsigned long const&) call site: 00032 __cxa_allocate_exception
10 47 BitStream::getBitsSigned(unsigned long) call site: 00047 __cxa_allocate_exception
5 8 Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int) call site: 00008 __cxa_allocate_exception
5 14 Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int) call site: 00014 __cxa_allocate_exception
5 60 BitWriter::writeBits(unsigned long long, unsigned long) call site: 00060 __cxa_allocate_exception
3 79 FuzzHelper::run() call site: 00079 __cxa_end_catch
1 66 Pl_TIFFPredictor::processRow() call site: 00066

Runtime coverage analysis

Covered functions
33
Functions that are reachable but not covered
30
Reachable functions
91
Percentage of reachable functions covered
67.03%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/tiffpredictor_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 4
/src/qpdf/libqpdf/qpdf/Util.hh 5
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/BitStream.cc 3
/src/qpdf/include/qpdf/QIntC.hh 3
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 2
/src/qpdf/libqpdf/qpdf/bits_functions.hh 2
/src/qpdf/libqpdf/qpdf/Pl_TIFFPredictor.hh 1

Fuzzer: future_ascii85_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 7 14.2%
gold [1:9] 5 10.2%
yellow [10:29] 12 24.4%
greenyellow [30:49] 2 4.08%
lawngreen 50+ 23 46.9%
All colors 49 100

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_ASCII85Decoder::Pl_ASCII85Decoder(char const*, Pipeline*) call site: 00008 __cxa_allocate_exception
1 41 FuzzHelper::doChecks() call site: 00041
1 47 FuzzHelper::run() call site: 00047 __cxa_begin_catch

Runtime coverage analysis

Covered functions
18
Functions that are reachable but not covered
16
Reachable functions
47
Percentage of reachable functions covered
65.96%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/ascii85_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_ASCII85Decoder.cc 4
/src/qpdf/libqpdf/qpdf/Util.hh 2
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_ASCII85Decoder.hh 1

Fuzzer: future_dct_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 182 55.3%
gold [1:9] 18 5.47%
yellow [10:29] 6 1.82%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 123 37.3%
All colors 329 100

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 99 init_simd call site: 00099 jinit_forward_dct
32 50 std_huff_tables call site: 00050 jpeg_start_compress
30 156 unsigned int QIntC::to_uint (int const&) call site: 00156 jpeg_finish_compress
19 233 master_selection call site: 00233 jinit_1pass_quantizer
11 34 jinit_memory_mgr call site: 00034 jpeg_set_defaults
9 209 jpeg_core_output_dimensions call site: 00209 jdiv_round_up
7 201 jpeg_calc_output_dimensions call site: 00201 jdiv_round_up
5 12 Pl_DCT::Pl_DCT(char const*, Pipeline*) call site: 00012 __cxa_allocate_exception
3 25 Pl_DCT::finish() call site: 00025 jpeg_CreateCompress
3 257 jinit_color_deconverter call site: 00257 jsimd_can_ycc_rgb565
2 310 Pl_DCT::finish() call site: 00310 jpeg_destroy_compress
1 20 FuzzHelper::doChecks() call site: 00020

Runtime coverage analysis

Covered functions
208
Functions that are reachable but not covered
128
Reachable functions
237
Percentage of reachable functions covered
45.99%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/dct_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_DCT.cc 13
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/qpdf/Util.hh 2
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/libjpeg-turbo/src/jerror.c 1
/src/libjpeg-turbo/src/jcapimin.c 4
/src/libjpeg-turbo/src/jmemmgr.c 1
/src/libjpeg-turbo/src/jmemnobs.c 3
/src/libjpeg-turbo/src/jcparam.c 7
/src/libjpeg-turbo/src/jcomapi.c 4
/src/libjpeg-turbo/src/jstdhuff.c 2
/src/libjpeg-turbo/src/wrapper/../jcapistd.c 2
/src/libjpeg-turbo/src/jcinit.c 1
/src/libjpeg-turbo/src/jcmaster.c 4
/src/libjpeg-turbo/src/wrapper/../jutils.c 2
/src/libjpeg-turbo/src/wrapper/../jccolor.c 3
/src/libjpeg-turbo/simd/x86_64/jsimd.c 20
/src/libjpeg-turbo/src/wrapper/../jcsample.c 3
/src/libjpeg-turbo/src/wrapper/../jcprepct.c 4
/src/libjpeg-turbo/src/wrapper/../jclossls.c 3
/src/libjpeg-turbo/src/jclhuff.c 1
/src/libjpeg-turbo/src/wrapper/../jcdiffct.c 3
/src/libjpeg-turbo/src/wrapper/../jcdctmgr.c 2
/src/libjpeg-turbo/src/jcarith.c 1
/src/libjpeg-turbo/src/jcphuff.c 1
/src/libjpeg-turbo/src/jchuff.c 1
/src/libjpeg-turbo/src/wrapper/../jccoefct.c 2
/src/libjpeg-turbo/src/wrapper/../jcmainct.c 3
/src/libjpeg-turbo/src/jcmarker.c 1
/src/qpdf/include/qpdf/QIntC.hh 9
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 1
/src/libjpeg-turbo/src/jdapimin.c 6
/src/libjpeg-turbo/src/jdmarker.c 2
/src/libjpeg-turbo/src/jdinput.c 1
/src/libjpeg-turbo/src/jdmaster.c 6
/src/libjpeg-turbo/src/wrapper/../jdapistd.c 3
/src/libjpeg-turbo/src/wrapper/../jquant1.c 8
/src/libjpeg-turbo/src/wrapper/../jquant2.c 3
/src/libjpeg-turbo/src/wrapper/../jdmerge.c 3
/src/libjpeg-turbo/src/wrapper/../jdcolor.c 5
/src/libjpeg-turbo/src/wrapper/../jdsample.c 3
/src/libjpeg-turbo/src/wrapper/../jdpostct.c 3
/src/libjpeg-turbo/src/wrapper/../jdlossls.c 3
/src/libjpeg-turbo/src/jdlhuff.c 1
/src/libjpeg-turbo/src/wrapper/../jddiffct.c 3
/src/libjpeg-turbo/src/wrapper/../jddctmgr.c 2
/src/libjpeg-turbo/src/jdarith.c 1
/src/libjpeg-turbo/src/jdphuff.c 1
/src/libjpeg-turbo/src/jdhuff.c 1
/src/libjpeg-turbo/src/wrapper/../jdcoefct.c 2
/src/libjpeg-turbo/src/wrapper/../jdmainct.c 4

Fuzzer: future_json_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 2368 75.8%
gold [1:9] 26 0.83%
yellow [10:29] 49 1.56%
greenyellow [30:49] 21 0.67%
lawngreen 50+ 659 21.1%
All colors 3123 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
222 2666 std::__1::shared_ptr QPDFObject::create (bool&) call site: 02666 _ZN4qpdf7IntegerC2ITkNSt3__18integralEmEET_
200 2062 QUtil::hex_decode(std::__1::basic_string , std::__1::allocator > const&) call site: 02062 __cxa_allocate_exception
180 1653 std::__1::shared_ptr QPDFObject::create , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator >&&) call site: 01653 __cxa_allocate_exception
162 1899 QPDF::EncryptionParameters::initialize(QPDF&) call site: 01899 __cxa_allocate_exception
97 2428 QPDFObjectHandle::getObjectID() const call site: 02428 __cxa_allocate_exception
91 1370 QPDFObjectHandle::getIntValueAsInt() const call site: 01370 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralExEEv
84 1470 QPDFObjectHandle::getName() const call site: 01470 __cxa_allocate_exception
77 804 QPDFObject::move_to(std::__1::shared_ptr &, bool) call site: 00804 __cxa_allocate_exception
70 1252 qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&) call site: 01252 __cxa_allocate_exception
64 1085 QPDFLogger::defaultLogger() call site: 01085 __cxa_end_catch
60 2271 QPDF::Doc::Objects::readTrailer() call site: 02271 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralEjEEv
44 703 QPDFParser::parseRemainder(bool) call site: 00703 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
461
Functions that are reachable but not covered
787
Reachable functions
1497
Percentage of reachable functions covered
47.43%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/json_fuzzer.cc 4
/src/qpdf/libqpdf/JSON.cc 28
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 8
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Util.hh 15
/src/qpdf/libqpdf/QUtil.cc 12
/src/qpdf/include/qpdf/QIntC.hh 37
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 5
/src/qpdf/include/qpdf/JSON.hh 7
/src/qpdf/libqpdf/QPDF.cc 25
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 26
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/QPDF_json.cc 5
/src/qpdf/libqpdf/QPDF_objects.cc 50
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/include/qpdf/QPDFObjGen.hh 11
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 3
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 8
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 88
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 17
/src/qpdf/libqpdf/QPDFObjectHandle.cc 62
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_Discard.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 12
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Flate.cc 1
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 3
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6

Fuzzer: qpdf_outlines_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 599 16.8%
gold [1:9] 113 3.17%
yellow [10:29] 64 1.79%
greenyellow [30:49] 30 0.84%
lawngreen 50+ 2751 77.3%
All colors 3557 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
60 2362 std::__1::shared_ptr QPDFObject::create , std::__1::allocator >&>(std::__1::basic_string , std::__1::allocator >&) call site: 02362 __cxa_allocate_exception
19 2341 QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool) call site: 02341 __cxa_allocate_exception
15 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception
12 1224 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01224
11 175 qpdf::Tokenizer::inBeforeToken(char) call site: 00175 __cxa_allocate_exception
10 911 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00911 __cxa_allocate_exception
9 2742 QPDF::Doc::Objects::parse(char const*) call site: 02742 __cxa_begin_catch
8 22 long long QIntC::to_offset (unsigned long const&) call site: 00022 __cxa_allocate_exception
8 1395 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01395
7 347 QPDF::warn(QPDFExc const&) call site: 00347 __cxa_allocate_exception
7 1152 QPDFObjectHandle::getName() const call site: 01152 __cxa_allocate_exception
7 1370 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01370

Runtime coverage analysis

Covered functions
1031
Functions that are reachable but not covered
233
Reachable functions
1667
Percentage of reachable functions covered
86.02%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc 7
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 1
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 2
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/include/qpdf/QIntC.hh 43
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 5
/src/qpdf/libqpdf/QPDF.cc 20
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 30
/src/qpdf/libqpdf/QPDF_objects.cc 50
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 19
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 32
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 8
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 24
/src/qpdf/include/qpdf/QPDFObjGen.hh 11
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 3
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 10
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 106
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 30
/src/qpdf/libqpdf/QPDFObjectHandle.cc 67
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 12
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 3
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFOutlineDocumentHelper.cc 3
/src/qpdf/libqpdf/QPDFOutlineObjectHelper.cc 3
/src/qpdf/libqpdf/NNTree.cc 32
/src/qpdf/libqpdf/qpdf/NNTree.hh 15
/src/qpdf/include/qpdf/QPDFNameTreeObjectHelper.hh 1

Fuzzer: pngpredictor_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 17 29.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 40 70.1%
All colors 57 100

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

Runtime coverage analysis

Covered functions
30
Functions that are reachable but not covered
16
Reachable functions
71
Percentage of reachable functions covered
77.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/pngpredictor_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_PNGFilter.cc 12
/src/qpdf/libqpdf/qpdf/Util.hh 5
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1

Fuzzer: future_qpdf_outlines_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 614 17.2%
gold [1:9] 118 3.31%
yellow [10:29] 68 1.91%
greenyellow [30:49] 45 1.26%
lawngreen 50+ 2710 76.2%
All colors 3555 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
60 2360 std::__1::shared_ptr QPDFObject::create , std::__1::allocator >&>(std::__1::basic_string , std::__1::allocator >&) call site: 02360 __cxa_allocate_exception
25 1378 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01378
19 2339 QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool) call site: 02339 __cxa_allocate_exception
15 1242 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01242 __cxa_allocate_exception
12 1222 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01222
11 166 qpdf::Tokenizer::inBeforeToken(char) call site: 00166 __cxa_allocate_exception
10 909 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00909 __cxa_allocate_exception
10 1365 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01365
9 2740 QPDF::Doc::Objects::parse(char const*) call site: 02740 __cxa_begin_catch
8 41 unsigned long QIntC::to_size (long const&) call site: 00041 __cxa_allocate_exception
7 338 QPDF::warn(QPDFExc const&) call site: 00338 __cxa_allocate_exception
7 1150 QPDFObjectHandle::getName() const call site: 01150 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1034
Functions that are reachable but not covered
235
Reachable functions
1667
Percentage of reachable functions covered
85.9%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc 7
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 1
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 2
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/libqpdf/QPDF.cc 20
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 30
/src/qpdf/libqpdf/QPDF_objects.cc 50
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 19
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 43
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 5
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 32
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 8
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 24
/src/qpdf/include/qpdf/QPDFObjGen.hh 11
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 3
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 10
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 106
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 30
/src/qpdf/libqpdf/QPDFObjectHandle.cc 67
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 12
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 3
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFOutlineDocumentHelper.cc 3
/src/qpdf/libqpdf/QPDFOutlineObjectHelper.cc 3
/src/qpdf/libqpdf/NNTree.cc 32
/src/qpdf/libqpdf/qpdf/NNTree.hh 15
/src/qpdf/include/qpdf/QPDFNameTreeObjectHelper.hh 1

Fuzzer: dct_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 182 55.3%
gold [1:9] 18 5.47%
yellow [10:29] 6 1.82%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 123 37.3%
All colors 329 100

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 99 init_simd call site: 00099 jinit_forward_dct
32 50 std_huff_tables call site: 00050 jpeg_start_compress
30 156 unsigned int QIntC::to_uint (int const&) call site: 00156 jpeg_finish_compress
19 233 master_selection call site: 00233 jinit_1pass_quantizer
11 34 jinit_memory_mgr call site: 00034 jpeg_set_defaults
9 209 jpeg_core_output_dimensions call site: 00209 jdiv_round_up
7 201 jpeg_calc_output_dimensions call site: 00201 jdiv_round_up
5 12 Pl_DCT::Pl_DCT(char const*, Pipeline*) call site: 00012 __cxa_allocate_exception
3 25 Pl_DCT::finish() call site: 00025 jpeg_CreateCompress
3 257 jinit_color_deconverter call site: 00257 jsimd_can_ycc_rgb565
2 310 Pl_DCT::finish() call site: 00310 jpeg_destroy_compress
1 20 FuzzHelper::doChecks() call site: 00020

Runtime coverage analysis

Covered functions
208
Functions that are reachable but not covered
128
Reachable functions
237
Percentage of reachable functions covered
45.99%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/dct_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_DCT.cc 13
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/qpdf/Util.hh 2
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/libjpeg-turbo/src/jerror.c 1
/src/libjpeg-turbo/src/jcapimin.c 4
/src/libjpeg-turbo/src/jmemmgr.c 1
/src/libjpeg-turbo/src/jmemnobs.c 3
/src/libjpeg-turbo/src/jcparam.c 7
/src/libjpeg-turbo/src/jcomapi.c 4
/src/libjpeg-turbo/src/jstdhuff.c 2
/src/libjpeg-turbo/src/wrapper/../jcapistd.c 2
/src/libjpeg-turbo/src/jcinit.c 1
/src/libjpeg-turbo/src/jcmaster.c 4
/src/libjpeg-turbo/src/wrapper/../jutils.c 2
/src/libjpeg-turbo/src/wrapper/../jccolor.c 3
/src/libjpeg-turbo/simd/x86_64/jsimd.c 20
/src/libjpeg-turbo/src/wrapper/../jcsample.c 3
/src/libjpeg-turbo/src/wrapper/../jcprepct.c 4
/src/libjpeg-turbo/src/wrapper/../jclossls.c 3
/src/libjpeg-turbo/src/jclhuff.c 1
/src/libjpeg-turbo/src/wrapper/../jcdiffct.c 3
/src/libjpeg-turbo/src/wrapper/../jcdctmgr.c 2
/src/libjpeg-turbo/src/jcarith.c 1
/src/libjpeg-turbo/src/jcphuff.c 1
/src/libjpeg-turbo/src/jchuff.c 1
/src/libjpeg-turbo/src/wrapper/../jccoefct.c 2
/src/libjpeg-turbo/src/wrapper/../jcmainct.c 3
/src/libjpeg-turbo/src/jcmarker.c 1
/src/qpdf/include/qpdf/QIntC.hh 9
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 1
/src/libjpeg-turbo/src/jdapimin.c 6
/src/libjpeg-turbo/src/jdmarker.c 2
/src/libjpeg-turbo/src/jdinput.c 1
/src/libjpeg-turbo/src/jdmaster.c 6
/src/libjpeg-turbo/src/wrapper/../jdapistd.c 3
/src/libjpeg-turbo/src/wrapper/../jquant1.c 8
/src/libjpeg-turbo/src/wrapper/../jquant2.c 3
/src/libjpeg-turbo/src/wrapper/../jdmerge.c 3
/src/libjpeg-turbo/src/wrapper/../jdcolor.c 5
/src/libjpeg-turbo/src/wrapper/../jdsample.c 3
/src/libjpeg-turbo/src/wrapper/../jdpostct.c 3
/src/libjpeg-turbo/src/wrapper/../jdlossls.c 3
/src/libjpeg-turbo/src/jdlhuff.c 1
/src/libjpeg-turbo/src/wrapper/../jddiffct.c 3
/src/libjpeg-turbo/src/wrapper/../jddctmgr.c 2
/src/libjpeg-turbo/src/jdarith.c 1
/src/libjpeg-turbo/src/jdphuff.c 1
/src/libjpeg-turbo/src/jdhuff.c 1
/src/libjpeg-turbo/src/wrapper/../jdcoefct.c 2
/src/libjpeg-turbo/src/wrapper/../jdmainct.c 4

Fuzzer: hex_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 7 18.4%
gold [1:9] 1 2.63%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 15.7%
lawngreen 50+ 24 63.1%
All colors 38 100

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_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const*, Pipeline*) call site: 00008 __cxa_allocate_exception
1 30 FuzzHelper::doChecks() call site: 00030
1 36 FuzzHelper::run() call site: 00036 __cxa_begin_catch

Runtime coverage analysis

Covered functions
17
Functions that are reachable but not covered
15
Reachable functions
44
Percentage of reachable functions covered
65.91%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/hex_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_ASCIIHexDecoder.cc 4
/src/qpdf/libqpdf/qpdf/Util.hh 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_ASCIIHexDecoder.hh 1

Fuzzer: future_qpdf_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1416 29.9%
gold [1:9] 122 2.57%
yellow [10:29] 60 1.26%
greenyellow [30:49] 67 1.41%
lawngreen 50+ 3064 64.7%
All colors 4729 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
225 3147 qpdf::impl::Writer::write() call site: 03147 __assert_fail
120 4396 qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle) call site: 04396 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
81 3668 Pl_Flate::checkError(char const*, int) call site: 03668 deflate
49 4628 qpdf::impl::Writer::writeStandard() call site: 04628
41 2847 qpdf::impl::Writer::generateID(bool) call site: 02847
39 4553 BitWriter::flush() call site: 04553
30 4522 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04522 __cxa_allocate_exception
27 4593 qpdf::pl::Count::~Count() call site: 04593 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
25 2389 qpdf::BaseHandle::copy(bool) const call site: 02389 __cxa_allocate_exception
23 3424 (anonymous namespace)::Pl_stack::popper() call site: 03424 fopen
23 3473 qpdf::impl::Writer::openObject(int) call site: 03473 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
23 3627 unsigned int QIntC::to_uint (unsigned long const&) call site: 03627 deflateInit_

Runtime coverage analysis

Covered functions
1321
Functions that are reachable but not covered
440
Reachable functions
2134
Percentage of reachable functions covered
79.38%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_fuzzer.cc 9
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 13
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 10
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/libqpdf/QPDF.cc 27
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 43
/src/qpdf/libqpdf/QPDF_objects.cc 57
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 30
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 47
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 6
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 21
/src/qpdf/include/qpdf/QPDFObjGen.hh 12
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 9
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 97
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 23
/src/qpdf/libqpdf/QPDFObjectHandle.cc 73
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 20
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 15
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 44
/src/qpdf/libqpdf/MD5.cc 7
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 8
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFWriter.cc 82
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh 27
/src/qpdf/libqpdf/QPDFUsage.cc 1
/src/qpdf/include/qpdf/QPDFUsage.hh 1
/src/qpdf/libqpdf/qpdf/ObjTable.hh 19
/src/qpdf/libqpdf/QPDF_linearization.cc 24
/src/qpdf/libqpdf/QPDFSystemError.cc 2
/src/qpdf/include/qpdf/QPDFSystemError.hh 1
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh 3
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: future_hex_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 7 18.4%
gold [1:9] 1 2.63%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 15.7%
lawngreen 50+ 24 63.1%
All colors 38 100

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_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const*, Pipeline*) call site: 00008 __cxa_allocate_exception
1 30 FuzzHelper::doChecks() call site: 00030
1 36 FuzzHelper::run() call site: 00036 __cxa_begin_catch

Runtime coverage analysis

Covered functions
17
Functions that are reachable but not covered
15
Reachable functions
44
Percentage of reachable functions covered
65.91%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/hex_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_ASCIIHexDecoder.cc 4
/src/qpdf/libqpdf/qpdf/Util.hh 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_ASCIIHexDecoder.hh 1

Fuzzer: qpdf_lin_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 990 20.9%
gold [1:9] 106 2.23%
yellow [10:29] 115 2.42%
greenyellow [30:49] 70 1.47%
lawngreen 50+ 3453 72.9%
All colors 4734 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
87 4626 qpdf::impl::Writer::write() call site: 04626 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
39 4403 qpdf::impl::Writer::writeLinearized() call site: 04403 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
28 2969 ObjTable ::large_element(unsigned long) call site: 02969 __cxa_allocate_exception
25 1380 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01380
25 2391 qpdf::BaseHandle::copy(bool) const call site: 02391 __cxa_allocate_exception
22 4183 qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool) call site: 04183
18 3431 qpdf::impl::Writer::writeLinearized() call site: 03431 fopen
17 4113 qpdf::BaseHandle::unparse() const call site: 04113 __cxa_allocate_exception
16 2742 QPDF::Doc::Objects::parse(char const*) call site: 02742 __cxa_begin_catch
16 2907 qpdf::impl::Writer::doWriteSetup() call site: 02907
15 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception
15 3683 deflate call site: 03683 crc32

Runtime coverage analysis

Covered functions
1376
Functions that are reachable but not covered
327
Reachable functions
2138
Percentage of reachable functions covered
84.71%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_lin_fuzzer.cc 9
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 13
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 10
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/include/qpdf/QIntC.hh 47
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 6
/src/qpdf/libqpdf/QPDF.cc 27
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 43
/src/qpdf/libqpdf/QPDF_objects.cc 57
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 30
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 21
/src/qpdf/include/qpdf/QPDFObjGen.hh 12
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 9
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 97
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 23
/src/qpdf/libqpdf/QPDFObjectHandle.cc 73
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 20
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 15
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 44
/src/qpdf/libqpdf/MD5.cc 7
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 8
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFWriter.cc 84
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh 27
/src/qpdf/libqpdf/QPDFUsage.cc 1
/src/qpdf/include/qpdf/QPDFUsage.hh 1
/src/qpdf/libqpdf/qpdf/ObjTable.hh 19
/src/qpdf/libqpdf/QPDF_linearization.cc 24
/src/qpdf/libqpdf/QPDFSystemError.cc 2
/src/qpdf/include/qpdf/QPDFSystemError.hh 1
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh 3
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: future_qpdf_crypt_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 936 19.5%
gold [1:9] 95 1.98%
yellow [10:29] 121 2.52%
greenyellow [30:49] 47 0.98%
lawngreen 50+ 3584 74.9%
All colors 4783 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
87 4675 qpdf::impl::Writer::write() call site: 04675 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
46 2909 qpdf::impl::Writer::doWriteSetup() call site: 02909
26 2809 qpdf::impl::Writer::generateID(bool) call site: 02809 __cxa_allocate_exception
25 2389 qpdf::BaseHandle::copy(bool) const call site: 02389 __cxa_allocate_exception
18 3480 qpdf::impl::Writer::writeLinearized() call site: 03480 fopen
17 4162 qpdf::BaseHandle::unparse() const call site: 04162 __cxa_allocate_exception
16 2740 QPDF::Doc::Objects::parse(char const*) call site: 02740 __cxa_begin_catch
16 2846 qpdf::impl::Writer::setEncryptionParameters(char const*, char const*) call site: 02846 __cxa_allocate_exception
16 2956 qpdf::impl::Writer::doWriteSetup() call site: 02956
15 1242 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01242 __cxa_allocate_exception
15 3732 deflate call site: 03732 crc32
14 3075 qpdf::impl::Writer::preserveObjectStreams() call site: 03075

Runtime coverage analysis

Covered functions
1380
Functions that are reachable but not covered
335
Reachable functions
2156
Percentage of reachable functions covered
84.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_crypt_fuzzer.cc 9
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 13
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 10
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/libqpdf/QPDF.cc 27
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 43
/src/qpdf/libqpdf/QPDF_objects.cc 57
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 30
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 47
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 6
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 22
/src/qpdf/include/qpdf/QPDFObjGen.hh 12
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 9
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 97
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 23
/src/qpdf/libqpdf/QPDFObjectHandle.cc 73
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 20
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 15
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 50
/src/qpdf/libqpdf/MD5.cc 7
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 8
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFWriter.cc 86
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh 27
/src/qpdf/libqpdf/QPDFUsage.cc 1
/src/qpdf/include/qpdf/QPDFUsage.hh 1
/src/qpdf/libqpdf/qpdf/ObjTable.hh 19
/src/qpdf/libqpdf/QPDF_linearization.cc 24
/src/qpdf/libqpdf/QPDFSystemError.cc 2
/src/qpdf/include/qpdf/QPDFSystemError.hh 1
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh 3
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: qpdf_crypt_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 934 19.5%
gold [1:9] 121 2.52%
yellow [10:29] 84 1.75%
greenyellow [30:49] 68 1.42%
lawngreen 50+ 3578 74.7%
All colors 4785 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
87 4677 qpdf::impl::Writer::write() call site: 04677 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
46 2911 qpdf::impl::Writer::doWriteSetup() call site: 02911
26 2811 qpdf::impl::Writer::generateID(bool) call site: 02811 __cxa_allocate_exception
25 2391 qpdf::BaseHandle::copy(bool) const call site: 02391 __cxa_allocate_exception
18 3482 qpdf::impl::Writer::writeLinearized() call site: 03482 fopen
17 4164 qpdf::BaseHandle::unparse() const call site: 04164 __cxa_allocate_exception
16 2742 QPDF::Doc::Objects::parse(char const*) call site: 02742 __cxa_begin_catch
16 2848 qpdf::impl::Writer::setEncryptionParameters(char const*, char const*) call site: 02848 __cxa_allocate_exception
16 2958 qpdf::impl::Writer::doWriteSetup() call site: 02958
15 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception
15 3734 deflate call site: 03734 crc32
14 3077 qpdf::impl::Writer::preserveObjectStreams() call site: 03077

Runtime coverage analysis

Covered functions
1378
Functions that are reachable but not covered
335
Reachable functions
2156
Percentage of reachable functions covered
84.46%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_crypt_fuzzer.cc 9
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 13
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 10
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/include/qpdf/QIntC.hh 47
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 6
/src/qpdf/libqpdf/QPDF.cc 27
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 43
/src/qpdf/libqpdf/QPDF_objects.cc 57
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 30
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 22
/src/qpdf/include/qpdf/QPDFObjGen.hh 12
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 9
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 97
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 23
/src/qpdf/libqpdf/QPDFObjectHandle.cc 73
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 20
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 15
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 50
/src/qpdf/libqpdf/MD5.cc 7
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 8
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFWriter.cc 86
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh 27
/src/qpdf/libqpdf/QPDFUsage.cc 1
/src/qpdf/include/qpdf/QPDFUsage.hh 1
/src/qpdf/libqpdf/qpdf/ObjTable.hh 19
/src/qpdf/libqpdf/QPDF_linearization.cc 24
/src/qpdf/libqpdf/QPDFSystemError.cc 2
/src/qpdf/include/qpdf/QPDFSystemError.hh 1
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh 3
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: future_qpdf_crypt_insecure_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1640 34.3%
gold [1:9] 109 2.27%
yellow [10:29] 89 1.86%
greenyellow [30:49] 62 1.29%
lawngreen 50+ 2881 60.2%
All colors 4781 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
236 3199 qpdf::impl::Writer::write() call site: 03199 __assert_fail
79 4489 qpdf::impl::Writer::writeEncryptionDictionary() call site: 04489 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
76 3016 ObjTable ::large_element(unsigned long) call site: 03016 __cxa_allocate_exception
57 4394 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04394 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEmEERS1_T_
49 4680 qpdf::impl::Writer::writeStandard() call site: 04680
46 2907 qpdf::impl::Writer::doWriteSetup() call site: 02907
39 4605 BitWriter::flush() call site: 04605
34 4332 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04332 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
30 4574 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04574 __cxa_allocate_exception
29 3476 (anonymous namespace)::Pl_stack::popper() call site: 03476 fopen
27 4645 qpdf::pl::Count::~Count() call site: 04645 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
26 2807 qpdf::impl::Writer::generateID(bool) call site: 02807 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1291
Functions that are reachable but not covered
486
Reachable functions
2154
Percentage of reachable functions covered
77.44%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc 9
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 13
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 10
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/libqpdf/QPDF.cc 27
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 43
/src/qpdf/libqpdf/QPDF_objects.cc 57
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 30
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 47
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 6
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 22
/src/qpdf/include/qpdf/QPDFObjGen.hh 12
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 9
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 97
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 23
/src/qpdf/libqpdf/QPDFObjectHandle.cc 73
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 20
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 15
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 50
/src/qpdf/libqpdf/MD5.cc 7
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 8
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFWriter.cc 85
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh 27
/src/qpdf/libqpdf/QPDFUsage.cc 1
/src/qpdf/include/qpdf/QPDFUsage.hh 1
/src/qpdf/libqpdf/qpdf/ObjTable.hh 19
/src/qpdf/libqpdf/QPDF_linearization.cc 24
/src/qpdf/libqpdf/QPDFSystemError.cc 2
/src/qpdf/include/qpdf/QPDFSystemError.hh 1
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh 3
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: qpdf_crypt_insecure_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1637 34.2%
gold [1:9] 85 1.77%
yellow [10:29] 119 2.48%
greenyellow [30:49] 42 0.87%
lawngreen 50+ 2900 60.6%
All colors 4783 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
236 3201 qpdf::impl::Writer::write() call site: 03201 __assert_fail
79 4491 qpdf::impl::Writer::writeEncryptionDictionary() call site: 04491 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
76 3018 ObjTable ::large_element(unsigned long) call site: 03018 __cxa_allocate_exception
57 4396 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04396 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEmEERS1_T_
49 4682 qpdf::impl::Writer::writeStandard() call site: 04682
46 2909 qpdf::impl::Writer::doWriteSetup() call site: 02909
39 4607 BitWriter::flush() call site: 04607
34 4334 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04334 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
30 4576 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04576 __cxa_allocate_exception
29 3478 (anonymous namespace)::Pl_stack::popper() call site: 03478 fopen
27 4647 qpdf::pl::Count::~Count() call site: 04647 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
26 2809 qpdf::impl::Writer::generateID(bool) call site: 02809 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1287
Functions that are reachable but not covered
486
Reachable functions
2154
Percentage of reachable functions covered
77.44%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc 9
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 13
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 10
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/include/qpdf/QIntC.hh 47
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 6
/src/qpdf/libqpdf/QPDF.cc 27
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 43
/src/qpdf/libqpdf/QPDF_objects.cc 57
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 30
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 22
/src/qpdf/include/qpdf/QPDFObjGen.hh 12
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 9
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 97
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 23
/src/qpdf/libqpdf/QPDFObjectHandle.cc 73
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 20
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 15
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 50
/src/qpdf/libqpdf/MD5.cc 7
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 8
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFWriter.cc 85
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh 27
/src/qpdf/libqpdf/QPDFUsage.cc 1
/src/qpdf/include/qpdf/QPDFUsage.hh 1
/src/qpdf/libqpdf/qpdf/ObjTable.hh 19
/src/qpdf/libqpdf/QPDF_linearization.cc 24
/src/qpdf/libqpdf/QPDFSystemError.cc 2
/src/qpdf/include/qpdf/QPDFSystemError.hh 1
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh 3
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: qpdf_pages_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 929 16.5%
gold [1:9] 123 2.19%
yellow [10:29] 163 2.90%
greenyellow [30:49] 53 0.94%
lawngreen 50+ 4347 77.4%
All colors 5615 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
57 5237 (anonymous namespace)::JSONParser::getToken() call site: 05237 __cxa_allocate_exception
19 2397 qpdf::BaseHandle::copy(bool) const call site: 02397 __cxa_allocate_exception
19 4249 qpdf::Name::normalize(std::__1::basic_string , std::__1::allocator > const&) call site: 04249 __cxa_allocate_exception
19 5368 (anonymous namespace)::JSONParser::handleToken() call site: 05368 __cxa_allocate_exception
18 5448 (anonymous namespace)::JSONParser::handleToken() call site: 05448 __cxa_allocate_exception
14 4097 qpdf::Stream::copy_data_to(qpdf::Stream&) call site: 04097 __cxa_allocate_exception
13 5082 qpdf::BaseHandle::write_json(int, JSON::Writer&) const call site: 05082
11 175 qpdf::Tokenizer::inBeforeToken(char) call site: 00175 __cxa_allocate_exception
11 4878 void QIntC::range_check_error (long long const&, long long const&) call site: 04878 __cxa_allocate_exception
11 5321 (anonymous namespace)::JSONParser::getToken() call site: 05321 __cxa_allocate_exception
11 5334 (anonymous namespace)::JSONParser::getToken() call site: 05334 __cxa_allocate_exception
10 911 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00911 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1455
Functions that are reachable but not covered
234
Reachable functions
2306
Percentage of reachable functions covered
89.85%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_pages_fuzzer.cc 8
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 1
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 2
/src/qpdf/libqpdf/BufferInputSource.cc 3
/src/qpdf/include/qpdf/InputSource.hh 4
/src/qpdf/include/qpdf/QIntC.hh 48
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 5
/src/qpdf/libqpdf/QPDF.cc 23
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 38
/src/qpdf/libqpdf/QPDF_objects.cc 51
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 22
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 44
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 27
/src/qpdf/include/qpdf/QPDFObjGen.hh 11
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 22
/src/qpdf/include/qpdf/ObjectHandle.hh 10
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 117
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 35
/src/qpdf/libqpdf/QPDFObjectHandle.cc 115
/src/qpdf/libqpdf/QPDF_Dictionary.cc 18
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 25
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 11
/src/qpdf/include/qpdf/QPDFDocumentHelper.hh 1
/src/qpdf/libqpdf/QPDFPageLabelDocumentHelper.cc 4
/src/qpdf/libqpdf/NNTree.cc 40
/src/qpdf/libqpdf/qpdf/NNTree.hh 15
/src/qpdf/libqpdf/QPDFDocumentHelper.cc 1
/src/qpdf/libqpdf/QPDFOutlineDocumentHelper.cc 6
/src/qpdf/include/qpdf/QPDFOutlineObjectHelper.hh 3
/src/qpdf/libqpdf/QPDFOutlineObjectHelper.cc 5
/src/qpdf/include/qpdf/QPDFObjectHelper.hh 6
/src/qpdf/libqpdf/QPDFObjectHelper.cc 1
/src/qpdf/libqpdf/QPDFAcroFormDocumentHelper.cc 11
/src/qpdf/include/qpdf/QPDFPageDocumentHelper.hh 1
/src/qpdf/include/qpdf/QPDFPageObjectHelper.hh 2
/src/qpdf/libqpdf/QPDFPageObjectHelper.cc 10
/src/qpdf/include/qpdf/QPDFAnnotationObjectHelper.hh 2
/src/qpdf/libqpdf/QPDFFormFieldObjectHelper.cc 34
/src/qpdf/libqpdf/qpdf/AcroForm.hh 17
/src/qpdf/include/qpdf/QPDFFormFieldObjectHelper.hh 3
/src/qpdf/libqpdf/QPDFAnnotationObjectHelper.cc 7
/src/qpdf/libqpdf/Pl_QPDFTokenizer.cc 3
/src/qpdf/libqpdf/QPDF_String.cc 4
/src/qpdf/libqpdf/QPDFMatrix.cc 11
/src/qpdf/include/qpdf/QPDFNumberTreeObjectHelper.hh 1
/src/qpdf/libqpdf/JSON.cc 29
/src/qpdf/libqpdf/qpdf/JSON_writer.hh 8
/src/qpdf/include/qpdf/JSON.hh 5
/src/qpdf/libqpdf/Pl_String.cc 2
/src/qpdf/include/qpdf/QPDFNameTreeObjectHelper.hh 1
/src/qpdf/include/qpdf/QPDFAcroFormDocumentHelper.hh 1
/src/qpdf/include/qpdf/QPDFOutlineDocumentHelper.hh 1
/src/qpdf/include/qpdf/QPDFPageLabelDocumentHelper.hh 1

Fuzzer: future_qpdf_pages_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 937 16.6%
gold [1:9] 161 2.86%
yellow [10:29] 112 1.99%
greenyellow [30:49] 58 1.03%
lawngreen 50+ 4345 77.4%
All colors 5613 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
57 5235 (anonymous namespace)::JSONParser::getToken() call site: 05235 __cxa_allocate_exception
19 2395 qpdf::BaseHandle::copy(bool) const call site: 02395 __cxa_allocate_exception
19 4247 qpdf::Name::normalize(std::__1::basic_string , std::__1::allocator > const&) call site: 04247 __cxa_allocate_exception
19 5366 (anonymous namespace)::JSONParser::handleToken() call site: 05366 __cxa_allocate_exception
18 5446 (anonymous namespace)::JSONParser::handleToken() call site: 05446 __cxa_allocate_exception
16 3246 NNTreeIterator::resetLimits(qpdf::Dictionary, std::__1::__list_iterator ) call site: 03246
14 4095 qpdf::Stream::copy_data_to(qpdf::Stream&) call site: 04095 __cxa_allocate_exception
13 5080 qpdf::BaseHandle::write_json(int, JSON::Writer&) const call site: 05080
11 166 qpdf::Tokenizer::inBeforeToken(char) call site: 00166 __cxa_allocate_exception
11 5319 (anonymous namespace)::JSONParser::getToken() call site: 05319 __cxa_allocate_exception
11 5332 (anonymous namespace)::JSONParser::getToken() call site: 05332 __cxa_allocate_exception
10 909 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00909 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1440
Functions that are reachable but not covered
234
Reachable functions
2306
Percentage of reachable functions covered
89.85%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_pages_fuzzer.cc 8
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 1
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 2
/src/qpdf/libqpdf/BufferInputSource.cc 3
/src/qpdf/include/qpdf/InputSource.hh 4
/src/qpdf/libqpdf/QPDF.cc 23
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 38
/src/qpdf/libqpdf/QPDF_objects.cc 51
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 22
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 48
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 5
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 44
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 27
/src/qpdf/include/qpdf/QPDFObjGen.hh 11
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 22
/src/qpdf/include/qpdf/ObjectHandle.hh 10
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 117
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 35
/src/qpdf/libqpdf/QPDFObjectHandle.cc 115
/src/qpdf/libqpdf/QPDF_Dictionary.cc 18
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 25
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 11
/src/qpdf/include/qpdf/QPDFDocumentHelper.hh 1
/src/qpdf/libqpdf/QPDFPageLabelDocumentHelper.cc 4
/src/qpdf/libqpdf/NNTree.cc 40
/src/qpdf/libqpdf/qpdf/NNTree.hh 15
/src/qpdf/libqpdf/QPDFDocumentHelper.cc 1
/src/qpdf/libqpdf/QPDFOutlineDocumentHelper.cc 6
/src/qpdf/include/qpdf/QPDFOutlineObjectHelper.hh 3
/src/qpdf/libqpdf/QPDFOutlineObjectHelper.cc 5
/src/qpdf/include/qpdf/QPDFObjectHelper.hh 6
/src/qpdf/libqpdf/QPDFObjectHelper.cc 1
/src/qpdf/libqpdf/QPDFAcroFormDocumentHelper.cc 11
/src/qpdf/include/qpdf/QPDFPageDocumentHelper.hh 1
/src/qpdf/include/qpdf/QPDFPageObjectHelper.hh 2
/src/qpdf/libqpdf/QPDFPageObjectHelper.cc 10
/src/qpdf/include/qpdf/QPDFAnnotationObjectHelper.hh 2
/src/qpdf/libqpdf/QPDFFormFieldObjectHelper.cc 34
/src/qpdf/libqpdf/qpdf/AcroForm.hh 17
/src/qpdf/include/qpdf/QPDFFormFieldObjectHelper.hh 3
/src/qpdf/libqpdf/QPDFAnnotationObjectHelper.cc 7
/src/qpdf/libqpdf/Pl_QPDFTokenizer.cc 3
/src/qpdf/libqpdf/QPDF_String.cc 4
/src/qpdf/libqpdf/QPDFMatrix.cc 11
/src/qpdf/include/qpdf/QPDFNumberTreeObjectHelper.hh 1
/src/qpdf/libqpdf/JSON.cc 29
/src/qpdf/libqpdf/qpdf/JSON_writer.hh 8
/src/qpdf/include/qpdf/JSON.hh 5
/src/qpdf/libqpdf/Pl_String.cc 2
/src/qpdf/include/qpdf/QPDFNameTreeObjectHelper.hh 1
/src/qpdf/include/qpdf/QPDFAcroFormDocumentHelper.hh 1
/src/qpdf/include/qpdf/QPDFOutlineDocumentHelper.hh 1
/src/qpdf/include/qpdf/QPDFPageLabelDocumentHelper.hh 1

Fuzzer: json_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 2368 75.8%
gold [1:9] 25 0.80%
yellow [10:29] 51 1.63%
greenyellow [30:49] 11 0.35%
lawngreen 50+ 668 21.3%
All colors 3123 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
222 2666 std::__1::shared_ptr QPDFObject::create (bool&) call site: 02666 _ZN4qpdf7IntegerC2ITkNSt3__18integralEmEET_
200 2062 QUtil::hex_decode(std::__1::basic_string , std::__1::allocator > const&) call site: 02062 __cxa_allocate_exception
180 1653 std::__1::shared_ptr QPDFObject::create , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator >&&) call site: 01653 __cxa_allocate_exception
162 1899 QPDF::EncryptionParameters::initialize(QPDF&) call site: 01899 __cxa_allocate_exception
97 2428 QPDFObjectHandle::getObjectID() const call site: 02428 __cxa_allocate_exception
91 1370 QPDFObjectHandle::getIntValueAsInt() const call site: 01370 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralExEEv
84 1470 QPDFObjectHandle::getName() const call site: 01470 __cxa_allocate_exception
77 804 QPDFObject::move_to(std::__1::shared_ptr &, bool) call site: 00804 __cxa_allocate_exception
70 1252 qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&) call site: 01252 __cxa_allocate_exception
64 1085 QPDFLogger::defaultLogger() call site: 01085 __cxa_end_catch
60 2271 QPDF::Doc::Objects::readTrailer() call site: 02271 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralEjEEv
44 703 QPDFParser::parseRemainder(bool) call site: 00703 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
460
Functions that are reachable but not covered
787
Reachable functions
1497
Percentage of reachable functions covered
47.43%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/json_fuzzer.cc 4
/src/qpdf/libqpdf/JSON.cc 28
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 8
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Util.hh 15
/src/qpdf/libqpdf/QUtil.cc 12
/src/qpdf/include/qpdf/QIntC.hh 37
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 5
/src/qpdf/include/qpdf/JSON.hh 7
/src/qpdf/libqpdf/QPDF.cc 25
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 26
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/QPDF_json.cc 5
/src/qpdf/libqpdf/QPDF_objects.cc 50
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/include/qpdf/QPDFObjGen.hh 11
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 3
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 8
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 88
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 17
/src/qpdf/libqpdf/QPDFObjectHandle.cc 62
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_Discard.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 12
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Flate.cc 1
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 3
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6

Fuzzer: future_qpdf_lin_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 973 20.5%
gold [1:9] 127 2.68%
yellow [10:29] 95 2.00%
greenyellow [30:49] 67 1.41%
lawngreen 50+ 3470 73.3%
All colors 4732 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
87 4624 qpdf::impl::Writer::write() call site: 04624 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
39 4401 qpdf::impl::Writer::writeLinearized() call site: 04401 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
28 2967 ObjTable ::large_element(unsigned long) call site: 02967 __cxa_allocate_exception
25 2389 qpdf::BaseHandle::copy(bool) const call site: 02389 __cxa_allocate_exception
22 4181 qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool) call site: 04181
18 3429 qpdf::impl::Writer::writeLinearized() call site: 03429 fopen
17 4111 qpdf::BaseHandle::unparse() const call site: 04111 __cxa_allocate_exception
16 2740 QPDF::Doc::Objects::parse(char const*) call site: 02740 __cxa_begin_catch
16 2905 qpdf::impl::Writer::doWriteSetup() call site: 02905
15 1242 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01242 __cxa_allocate_exception
15 3681 deflate call site: 03681 crc32
13 2998 qpdf::BaseDictionary::crbegin() call site: 02998

Runtime coverage analysis

Covered functions
1381
Functions that are reachable but not covered
325
Reachable functions
2138
Percentage of reachable functions covered
84.8%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_lin_fuzzer.cc 9
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 13
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 10
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/libqpdf/QPDF.cc 27
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 43
/src/qpdf/libqpdf/QPDF_objects.cc 57
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 30
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 47
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 6
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 21
/src/qpdf/include/qpdf/QPDFObjGen.hh 12
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 9
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 97
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 23
/src/qpdf/libqpdf/QPDFObjectHandle.cc 73
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 20
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 15
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 44
/src/qpdf/libqpdf/MD5.cc 7
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 8
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFWriter.cc 84
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh 27
/src/qpdf/libqpdf/QPDFUsage.cc 1
/src/qpdf/include/qpdf/QPDFUsage.hh 1
/src/qpdf/libqpdf/qpdf/ObjTable.hh 19
/src/qpdf/libqpdf/QPDF_linearization.cc 24
/src/qpdf/libqpdf/QPDFSystemError.cc 2
/src/qpdf/include/qpdf/QPDFSystemError.hh 1
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh 3
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: qpdf_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1414 29.8%
gold [1:9] 109 2.30%
yellow [10:29] 92 1.94%
greenyellow [30:49] 57 1.20%
lawngreen 50+ 3059 64.6%
All colors 4731 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
225 3149 qpdf::impl::Writer::write() call site: 03149 __assert_fail
120 4398 qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle) call site: 04398 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
81 3670 Pl_Flate::checkError(char const*, int) call site: 03670 deflate
49 4630 qpdf::impl::Writer::writeStandard() call site: 04630
41 2849 qpdf::impl::Writer::generateID(bool) call site: 02849
39 4555 BitWriter::flush() call site: 04555
30 4524 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04524 __cxa_allocate_exception
27 4595 qpdf::pl::Count::~Count() call site: 04595 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
25 2391 qpdf::BaseHandle::copy(bool) const call site: 02391 __cxa_allocate_exception
23 3426 (anonymous namespace)::Pl_stack::popper() call site: 03426 fopen
23 3475 qpdf::impl::Writer::openObject(int) call site: 03475 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
23 3629 unsigned int QIntC::to_uint (unsigned long const&) call site: 03629 deflateInit_

Runtime coverage analysis

Covered functions
1319
Functions that are reachable but not covered
436
Reachable functions
2134
Percentage of reachable functions covered
79.57%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_fuzzer.cc 9
/src/qpdf/libqpdf/Buffer.cc 5
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 13
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 10
/src/qpdf/libqpdf/BufferInputSource.cc 1
/src/qpdf/include/qpdf/InputSource.hh 3
/src/qpdf/include/qpdf/QIntC.hh 47
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 6
/src/qpdf/libqpdf/QPDF.cc 27
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 43
/src/qpdf/libqpdf/QPDF_objects.cc 57
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/libqpdf/qpdf/Util.hh 30
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/QPDFExc.cc 3
/src/qpdf/libqpdf/QPDFLogger.cc 8
/src/qpdf/include/qpdf/QPDFExc.hh 2
/src/qpdf/libqpdf/QPDFTokenizer.cc 33
/src/qpdf/libqpdf/qpdf/InputSource_private.hh 9
/src/qpdf/include/qpdf/QPDFTokenizer.hh 9
/src/qpdf/libqpdf/QUtil.cc 21
/src/qpdf/include/qpdf/QPDFObjGen.hh 12
/src/qpdf/include/qpdf/QPDFXRefEntry.hh 2
/src/qpdf/libqpdf/QPDFParser.cc 35
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 5
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh 4
/src/qpdf/include/qpdf/QPDFObjectHandle.hh 13
/src/qpdf/include/qpdf/ObjectHandle.hh 9
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh 97
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 23
/src/qpdf/libqpdf/QPDFObjectHandle.cc 73
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 20
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 15
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 44
/src/qpdf/libqpdf/MD5.cc 7
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 8
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFWriter.cc 82
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh 27
/src/qpdf/libqpdf/QPDFUsage.cc 1
/src/qpdf/include/qpdf/QPDFUsage.hh 1
/src/qpdf/libqpdf/qpdf/ObjTable.hh 19
/src/qpdf/libqpdf/QPDF_linearization.cc 24
/src/qpdf/libqpdf/QPDFSystemError.cc 2
/src/qpdf/include/qpdf/QPDFSystemError.hh 1
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh 3
/src/qpdf/include/qpdf/QUtil.hh 1
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh 1
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 9
/src/zlib/inftrees.c 2
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
QPDF::showLinearizationData() /src/qpdf/libqpdf/QPDF_linearization.cc 1 ['N/A'] 46 0 18 3 2 1550 0 9501 1366
QPDFPageObjectHelper::flattenRotation(QPDFAcroFormDocumentHelper*) /src/qpdf/libqpdf/QPDFPageObjectHelper.cc 2 ['N/A', 'N/A'] 48 0 1085 191 142 1976 0 11485 1249
encode_mcu_huff /src/libjpeg-turbo/src/jchuff.c 2 ['N/A', 'N/A'] 3 0 228 33 14 7 0 595 595
QPDF::JSONReactor::dictionaryItem(std::__1::basic_string ,std::__1::allocator >const&,JSONconst&) /src/qpdf/libqpdf/QPDF_json.cc 3 ['N/A', 'N/A', 'N/A'] 44 0 1323 238 227 1521 0 8690 514
JSON::checkSchemaInternal(JSON::JSON_value*,JSON::JSON_value*,unsignedlong,std::__1::list ,std::__1::allocator >,std::__1::allocator ,std::__1::allocator >>>&,std::__1::basic_string ,std::__1::allocator >) /src/qpdf/libqpdf/JSON.cc 5 ['N/A', 'N/A', 'size_t', 'N/A', 'N/A'] 2 0 881 159 135 9 3 291 287
QPDF::writeJSON(int,Pipeline*,qpdf_stream_decode_level_e,qpdf_json_stream_data_e,std::__1::basic_string ,std::__1::allocator >const&,std::__1::set ,std::__1::allocator >,std::__1::less ,std::__1::allocator >>,std::__1::allocator ,std::__1::allocator >>>) /src/qpdf/libqpdf/QPDF_json.cc 7 ['N/A', 'int', 'N/A', 'int', 'int', 'N/A', 'N/A'] 41 0 57 6 6 1511 0 8643 281
(anonymousnamespace)::InlineImageTracker::handleToken(QPDFTokenizer::Tokenconst&) /src/qpdf/libqpdf/QPDFPageObjectHelper.cc 2 ['N/A', 'N/A'] 43 0 373 68 52 1415 0 8307 267

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
55.0%
1931 / 3483
Cyclomatic complexity statically reachable by fuzzers
71.0%
25501 / 35875

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

/src/qpdf/fuzz/pngpredictor_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int)', 'Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int)', 'Pl_PNGFilter::write(unsigned char const*, unsigned long)', 'FuzzHelper::run()']

/src/qpdf/fuzz/lzw_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['unsigned int QIntC::to_uint(unsigned long const&)', 'Pl_LZWDecoder::Pl_LZWDecoder(char const*, Pipeline*, bool)', 'Pl_LZWDecoder::getFirstChar(unsigned int)', 'Pl_LZWDecoder::getFirstChar(unsigned int)', 'FuzzHelper::run()']

/src/qpdf/fuzz/tiffpredictor_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['unsigned int QIntC::to_uint(unsigned long const&)', 'BitStream::getBitsSigned(unsigned long)', 'Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int)', 'Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int)', 'BitWriter::writeBits(unsigned long long, unsigned long)', 'FuzzHelper::run()', 'Pl_TIFFPredictor::processRow()']

/src/qpdf/fuzz/runlength_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['FuzzHelper::doChecks()', 'Pl_RunLength::Pl_RunLength(char const*, Pipeline*, Pl_RunLength::action_e)', 'FuzzHelper::doChecks()', 'FuzzHelper::run()']

/src/qpdf/fuzz/lzw_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['unsigned int QIntC::to_uint(unsigned long const&)', 'Pl_LZWDecoder::Pl_LZWDecoder(char const*, Pipeline*, bool)', 'Pl_LZWDecoder::getFirstChar(unsigned int)', 'Pl_LZWDecoder::getFirstChar(unsigned int)', 'FuzzHelper::run()']

/src/qpdf/fuzz/ascii85_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['Pl_ASCII85Decoder::Pl_ASCII85Decoder(char const*, Pipeline*)', 'FuzzHelper::doChecks()', 'FuzzHelper::run()']

/src/qpdf/fuzz/flate_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['deflate', 'deflateResetKeep', 'unsigned long QIntC::to_size(unsigned int const&)', 'deflateReset', 'Pl_Flate::finish()', 'unsigned long QIntC::to_ulong(unsigned long const&)', 'FuzzHelper::doChecks()', 'Pl_Flate::Pl_Flate(char const*, Pipeline*, Pl_Flate::action_e, unsigned int)']

/src/qpdf/fuzz/runlength_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['FuzzHelper::doChecks()', 'Pl_RunLength::Pl_RunLength(char const*, Pipeline*, Pl_RunLength::action_e)', 'FuzzHelper::doChecks()', 'FuzzHelper::run()']

/src/qpdf/fuzz/flate_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['deflate', 'deflateResetKeep', 'unsigned long QIntC::to_size(unsigned int const&)', 'deflateReset', 'Pl_Flate::finish()', 'unsigned long QIntC::to_ulong(unsigned long const&)', 'FuzzHelper::doChecks()', 'Pl_Flate::Pl_Flate(char const*, Pipeline*, Pl_Flate::action_e, unsigned int)']

/src/qpdf/fuzz/tiffpredictor_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['unsigned int QIntC::to_uint(unsigned long const&)', 'BitStream::getBitsSigned(unsigned long)', 'Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int)', 'Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int)', 'BitWriter::writeBits(unsigned long long, unsigned long)', 'FuzzHelper::run()', 'Pl_TIFFPredictor::processRow()']

/src/qpdf/fuzz/ascii85_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['Pl_ASCII85Decoder::Pl_ASCII85Decoder(char const*, Pipeline*)', 'FuzzHelper::doChecks()', 'FuzzHelper::run()']

/src/qpdf/fuzz/dct_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['init_simd', 'std_huff_tables', 'unsigned int QIntC::to_uint(int const&)', 'master_selection', 'jinit_memory_mgr', 'jpeg_core_output_dimensions', 'jpeg_calc_output_dimensions', 'Pl_DCT::Pl_DCT(char const*, Pipeline*)', 'Pl_DCT::finish()', 'jinit_color_deconverter']

/src/qpdf/fuzz/json_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['std::__1::shared_ptr QPDFObject::create(bool&)', 'QUtil::hex_decode(std::__1::basic_string, std::__1::allocator > const&)', 'std::__1::shared_ptr QPDFObject::create, std::__1::allocator > >(std::__1::basic_string, std::__1::allocator >&&)', 'QPDF::EncryptionParameters::initialize(QPDF&)', 'QPDFObjectHandle::getObjectID() const', 'QPDFObjectHandle::getIntValueAsInt() const', 'QPDFObjectHandle::getName() const', 'QPDFObject::move_to(std::__1::shared_ptr&, bool)', 'qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&)', 'QPDFLogger::defaultLogger()']

/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['std::__1::shared_ptr QPDFObject::create, std::__1::allocator >&>(std::__1::basic_string, std::__1::allocator >&)', 'QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool)', 'QPDFObjectHandle::hasKey(std::__1::basic_string, std::__1::allocator > const&) const', 'qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool)', 'qpdf::Tokenizer::inBeforeToken(char)', 'qpdf::Stream::Stream(std::__1::shared_ptr const&)', 'QPDF::Doc::Objects::parse(char const*)', 'long long QIntC::to_offset(unsigned long const&)', 'QPDF::decryptStream(std::__1::shared_ptr, std::__1::shared_ptr, QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&)', 'QPDF::warn(QPDFExc const&)']

/src/qpdf/fuzz/pngpredictor_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int)', 'Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int)', 'Pl_PNGFilter::write(unsigned char const*, unsigned long)', 'FuzzHelper::run()']

/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['std::__1::shared_ptr QPDFObject::create, std::__1::allocator >&>(std::__1::basic_string, std::__1::allocator >&)', 'QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const', 'QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool)', 'QPDFObjectHandle::hasKey(std::__1::basic_string, std::__1::allocator > const&) const', 'qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool)', 'qpdf::Tokenizer::inBeforeToken(char)', 'qpdf::Stream::Stream(std::__1::shared_ptr const&)', 'QPDF::decryptStream(std::__1::shared_ptr, std::__1::shared_ptr, QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&)', 'QPDF::Doc::Objects::parse(char const*)', 'unsigned long QIntC::to_size(long const&)']

/src/qpdf/fuzz/dct_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['init_simd', 'std_huff_tables', 'unsigned int QIntC::to_uint(int const&)', 'master_selection', 'jinit_memory_mgr', 'jpeg_core_output_dimensions', 'jpeg_calc_output_dimensions', 'Pl_DCT::Pl_DCT(char const*, Pipeline*)', 'Pl_DCT::finish()', 'jinit_color_deconverter']

/src/qpdf/fuzz/hex_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['Pl_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const*, Pipeline*)', 'FuzzHelper::doChecks()', 'FuzzHelper::run()']

/src/qpdf/fuzz/qpdf_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['qpdf::impl::Writer::write()', 'qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle)', 'Pl_Flate::checkError(char const*, int)', 'qpdf::impl::Writer::writeStandard()', 'qpdf::impl::Writer::generateID(bool)', 'BitWriter::flush()', 'BitWriter::writeBits(unsigned long long, unsigned long)', 'qpdf::pl::Count::~Count()', 'qpdf::BaseHandle::copy(bool) const', '(anonymous namespace)::Pl_stack::popper()']

/src/qpdf/fuzz/hex_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['Pl_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const*, Pipeline*)', 'FuzzHelper::doChecks()', 'FuzzHelper::run()']

/src/qpdf/fuzz/qpdf_lin_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['qpdf::impl::Writer::write()', 'qpdf::impl::Writer::writeLinearized()', 'ObjTable::large_element(unsigned long)', 'QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const', 'qpdf::BaseHandle::copy(bool) const', 'qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool)', 'qpdf::impl::Writer::writeLinearized()', 'qpdf::BaseHandle::unparse() const', 'QPDF::Doc::Objects::parse(char const*)', 'qpdf::impl::Writer::doWriteSetup()']

/src/qpdf/fuzz/qpdf_crypt_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['qpdf::impl::Writer::write()', 'qpdf::impl::Writer::doWriteSetup()', 'qpdf::impl::Writer::generateID(bool)', 'qpdf::BaseHandle::copy(bool) const', 'qpdf::impl::Writer::writeLinearized()', 'qpdf::BaseHandle::unparse() const', 'QPDF::Doc::Objects::parse(char const*)', 'qpdf::impl::Writer::setEncryptionParameters(char const*, char const*)', 'qpdf::impl::Writer::doWriteSetup()', 'QPDFObjectHandle::hasKey(std::__1::basic_string, std::__1::allocator > const&) const']

/src/qpdf/fuzz/qpdf_crypt_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['qpdf::impl::Writer::write()', 'qpdf::impl::Writer::doWriteSetup()', 'qpdf::impl::Writer::generateID(bool)', 'qpdf::BaseHandle::copy(bool) const', 'qpdf::impl::Writer::writeLinearized()', 'qpdf::BaseHandle::unparse() const', 'QPDF::Doc::Objects::parse(char const*)', 'qpdf::impl::Writer::setEncryptionParameters(char const*, char const*)', 'qpdf::impl::Writer::doWriteSetup()', 'QPDFObjectHandle::hasKey(std::__1::basic_string, std::__1::allocator > const&) const']

/src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['qpdf::impl::Writer::write()', 'qpdf::impl::Writer::writeEncryptionDictionary()', 'ObjTable::large_element(unsigned long)', 'qpdf::impl::Writer::writeObject(QPDFObjectHandle, int)', 'qpdf::impl::Writer::writeStandard()', 'qpdf::impl::Writer::doWriteSetup()', 'BitWriter::flush()', 'qpdf::impl::Writer::writeObject(QPDFObjectHandle, int)', 'BitWriter::writeBits(unsigned long long, unsigned long)', '(anonymous namespace)::Pl_stack::popper()']

/src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['qpdf::impl::Writer::write()', 'qpdf::impl::Writer::writeEncryptionDictionary()', 'ObjTable::large_element(unsigned long)', 'qpdf::impl::Writer::writeObject(QPDFObjectHandle, int)', 'qpdf::impl::Writer::writeStandard()', 'qpdf::impl::Writer::doWriteSetup()', 'BitWriter::flush()', 'qpdf::impl::Writer::writeObject(QPDFObjectHandle, int)', 'BitWriter::writeBits(unsigned long long, unsigned long)', '(anonymous namespace)::Pl_stack::popper()']

/src/qpdf/fuzz/qpdf_pages_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['(anonymous namespace)::JSONParser::getToken()', 'qpdf::BaseHandle::copy(bool) const', 'qpdf::Name::normalize(std::__1::basic_string, std::__1::allocator > const&)', '(anonymous namespace)::JSONParser::handleToken()', '(anonymous namespace)::JSONParser::handleToken()', 'qpdf::Stream::copy_data_to(qpdf::Stream&)', 'qpdf::BaseHandle::write_json(int, JSON::Writer&) const', 'qpdf::Tokenizer::inBeforeToken(char)', 'void QIntC::range_check_error(long long const&, long long const&)', '(anonymous namespace)::JSONParser::getToken()']

/src/qpdf/fuzz/qpdf_pages_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['(anonymous namespace)::JSONParser::getToken()', 'qpdf::BaseHandle::copy(bool) const', 'qpdf::Name::normalize(std::__1::basic_string, std::__1::allocator > const&)', '(anonymous namespace)::JSONParser::handleToken()', '(anonymous namespace)::JSONParser::handleToken()', 'NNTreeIterator::resetLimits(qpdf::Dictionary, std::__1::__list_iterator)', 'qpdf::Stream::copy_data_to(qpdf::Stream&)', 'qpdf::BaseHandle::write_json(int, JSON::Writer&) const', 'qpdf::Tokenizer::inBeforeToken(char)', '(anonymous namespace)::JSONParser::getToken()']

/src/qpdf/fuzz/json_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['std::__1::shared_ptr QPDFObject::create(bool&)', 'QUtil::hex_decode(std::__1::basic_string, std::__1::allocator > const&)', 'std::__1::shared_ptr QPDFObject::create, std::__1::allocator > >(std::__1::basic_string, std::__1::allocator >&&)', 'QPDF::EncryptionParameters::initialize(QPDF&)', 'QPDFObjectHandle::getObjectID() const', 'QPDFObjectHandle::getIntValueAsInt() const', 'QPDFObjectHandle::getName() const', 'QPDFObject::move_to(std::__1::shared_ptr&, bool)', 'qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&)', 'QPDFLogger::defaultLogger()']

/src/qpdf/fuzz/qpdf_lin_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['qpdf::impl::Writer::write()', 'qpdf::impl::Writer::writeLinearized()', 'ObjTable::large_element(unsigned long)', 'qpdf::BaseHandle::copy(bool) const', 'qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool)', 'qpdf::impl::Writer::writeLinearized()', 'qpdf::BaseHandle::unparse() const', 'QPDF::Doc::Objects::parse(char const*)', 'qpdf::impl::Writer::doWriteSetup()', 'QPDFObjectHandle::hasKey(std::__1::basic_string, std::__1::allocator > const&) const']

/src/qpdf/fuzz/qpdf_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['qpdf::impl::Writer::write()', 'qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle)', 'Pl_Flate::checkError(char const*, int)', 'qpdf::impl::Writer::writeStandard()', 'qpdf::impl::Writer::generateID(bool)', 'BitWriter::flush()', 'BitWriter::writeBits(unsigned long long, unsigned long)', 'qpdf::pl::Count::~Count()', 'qpdf::BaseHandle::copy(bool) const', '(anonymous namespace)::Pl_stack::popper()']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
Pl_Flate::checkError(charconst*,int) 35 17 48.57% ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_crypt_fuzzer', 'future_flate_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer']
deflate 257 73 28.40% ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'future_flate_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
output_pass_setup 45 10 22.22% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
start_pass 173 39 22.54% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
ycc_rgb_convert 36 8 22.22% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
jpeg_resync_to_restart 34 6 17.64% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
jpeg_core_output_dimensions 130 32 24.61% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
use_merged_upsample 38 6 15.78% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
jinit_d_post_controller 39 20 51.28% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
j12init_d_post_controller 40 20 50.0% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
access_virt_sarray 59 31 52.54% ['future_qpdf_fuzzer', 'future_dct_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer']
qpdf::BaseHandle::unparse()const 73 16 21.91% ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_pages_fuzzer']
qpdf::impl::Writer::interpretR3EncryptionParameters(bool,bool,bool,bool,bool,bool,qpdf_r3_print_e,qpdf_r3_modify_e) 46 16 34.78% ['qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/qpdf/include/qpdf/InputSource.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jfdctint.c [] []
/src/qpdf/libqpdf/qpdf/Pl_LZWDecoder.hh ['lzw_fuzzer', 'future_lzw_fuzzer'] ['lzw_fuzzer', 'future_lzw_fuzzer']
/src/qpdf/libqpdf/sha2big.c [] []
/src/zlib/inftrees.c ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jcsample.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/rijndael.cc [] []
/src/qpdf/libqpdf/qpdf/InputSource_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDF_objects.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc ['future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer'] ['future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer']
/src/qpdf/libqpdf/AES_PDF_native.cc [] []
/src/zlib/adler32.c ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jcphuff.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/Util.hh ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'future_flate_fuzzer', 'runlength_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'future_flate_fuzzer', 'runlength_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_Concatenate.cc [] []
/src/qpdf/include/qpdf/QPDFObjectHandle.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/include/qpdf/QPDFTokenizer.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/ObjTable.hh ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_OStream.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/zlib/inffast.c ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/include/qpdf/QTC.hh ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'runlength_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDFCrypto_native.hh [] []
/src/libjpeg-turbo/src/wrapper/../jdcolor.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_ASCII85Decoder.cc ['ascii85_fuzzer', 'future_ascii85_fuzzer'] ['ascii85_fuzzer', 'future_ascii85_fuzzer']
/src/libjpeg-turbo/src/jdlhuff.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/QPDFLogger.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/include/qpdf/QPDFFormFieldObjectHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/qpdf/global_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/CryptoRandomDataProvider.hh [] []
/src/qpdf/libqpdf/QPDFMatrix.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/QPDFAcroFormDocumentHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/include/qpdf/QPDFObjGen.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/BitWriter.cc ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/include/qpdf/QPDFOutlineObjectHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_ASCII85Decoder.hh ['ascii85_fuzzer', 'future_ascii85_fuzzer'] []
/src/qpdf/libqpdf/QPDFDocumentHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/RC4.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/usr/local/bin/../include/c++/v1/__exception/exception.h ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jquant1.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/include/qpdf/QPDFObjectHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/jdarith.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/include/qpdf/QPDFUsage.hh ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] []
/src/qpdf/libqpdf/Pl_RC4.cc ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jdmaster.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/include/qpdf/QPDFPageObjectHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jccolor.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/FileInputSource.cc [] []
/src/libjpeg-turbo/src/jdmarker.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDFExc.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/fuzz/dct_fuzzer.cc ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/QPDF_Stream.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/zlib/inflate.c ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/SF_FlateLzwDecode.cc [] []
/src/libjpeg-turbo/src/wrapper/../jutils.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/jcmaster.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_Base64.cc [] []
/src/qpdf/include/qpdf/QPDFExc.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDF_json.cc ['future_json_fuzzer', 'json_fuzzer'] ['future_json_fuzzer', 'json_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdmainct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_Count.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jcdiffct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/jdphuff.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdapistd.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/fuzz/pngpredictor_fuzzer.cc ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer'] ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer']
/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer']
/src/qpdf/libqpdf/QPDF_linearization.cc ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_PNGFilter.cc ['future_pngpredictor_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_pngpredictor_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdlossls.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/zlib/trees.c ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_flate_fuzzer', 'flate_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer']
/src/qpdf/libqpdf/sha2.c [] []
/src/qpdf/libqpdf/qpdf/ResourceFinder.hh [] []
/src/qpdf/libqpdf/QPDF_Array.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/usr/local/bin/../include/c++/v1/string [] []
/src/qpdf/libqpdf/Pl_RunLength.cc ['future_runlength_fuzzer', 'runlength_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_runlength_fuzzer', 'runlength_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jclossls.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/JSON.cc ['future_json_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer'] ['future_json_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer']
/src/qpdf/libqpdf/QPDF_Dictionary.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jdhuff.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/QPDF.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/fuzz/qpdf_pages_fuzzer.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/QPDFCrypto_native.cc [] []
/src/qpdf/fuzz/hex_fuzzer.cc ['hex_fuzzer', 'future_hex_fuzzer'] ['hex_fuzzer', 'future_hex_fuzzer']
/src/qpdf/fuzz/lzw_fuzzer.cc ['lzw_fuzzer', 'future_lzw_fuzzer'] ['lzw_fuzzer', 'future_lzw_fuzzer']
/src/qpdf/libqpdf/qpdf/JSON_writer.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/QPDF_String.cc ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/sph/sph_types.h [] []
/src/qpdf/libqpdf/QUtil.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/InputSource.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDFObjectHandle.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/usr/local/bin/../include/c++/v1/__iterator/move_iterator.h [] []
/src/qpdf/libqpdf/QPDFPageObjectHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/include/qpdf/QPDFNumberTreeObjectHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/include/qpdf/QPDFPageLabelDocumentHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/usr/local/bin/../include/c++/v1/sstream ['lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_flate_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] []
/src/qpdf/libqpdf/NNTree.cc ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/include/qpdf/QPDFWriter.hh [] []
/src/qpdf/include/qpdf/QPDFXRefEntry.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/OffsetInputSource.cc [] []
/src/libjpeg-turbo/src/wrapper/../jccoefct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/QPDFUsage.cc ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/zlib/zutil.c [] []
/src/qpdf/libqpdf/Pl_Discard.cc ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'future_flate_fuzzer', 'runlength_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'future_flate_fuzzer', 'runlength_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/bits_functions.hh ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/SecureRandomDataProvider.cc [] []
/src/qpdf/fuzz/json_fuzzer.cc ['future_json_fuzzer', 'json_fuzzer'] ['future_json_fuzzer', 'json_fuzzer']
/src/qpdf/libqpdf/QPDFStreamFilter.cc [] []
/src/qpdf/fuzz/runlength_fuzzer.cc ['future_runlength_fuzzer', 'runlength_fuzzer'] ['future_runlength_fuzzer', 'runlength_fuzzer']
/src/qpdf/fuzz/ascii85_fuzzer.cc ['ascii85_fuzzer', 'future_ascii85_fuzzer'] ['ascii85_fuzzer', 'future_ascii85_fuzzer']
/src/qpdf/libqpdf/qpdf/OffsetInputSource.hh [] []
/usr/local/bin/../include/c++/v1/stdexcept ['lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_flate_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] []
/src/libjpeg-turbo/src/jcarith.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jidctflt.c [] []
/src/qpdf/libqpdf/global.cc [] []
/src/qpdf/include/qpdf/QPDFLogger.hh [] []
/src/qpdf/libqpdf/qpdf/AES_PDF_native.hh [] []
/src/qpdf/libqpdf/Pipeline.cc ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'future_flate_fuzzer', 'runlength_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'future_flate_fuzzer', 'runlength_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Buffer.cc ['lzw_fuzzer', 'future_lzw_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['lzw_fuzzer', 'future_lzw_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jidctint.c [] []
/src/qpdf/include/qpdf/QUtil.hh ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/PDFVersion.cc [] []
/src/qpdf/libqpdf/Pl_Flate.cc ['future_flate_fuzzer', 'flate_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_flate_fuzzer', 'flate_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/BitStream.cc ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDFParser.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDFTokenizer.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/zlib/deflate.c ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_flate_fuzzer', 'flate_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFAnnotationObjectHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdcoefct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/include/qpdf/QPDFPageDocumentHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/Pl_String.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jidctfst.c [] []
/src/qpdf/include/qpdf/QPDFAcroFormDocumentHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_StdioFile.cc [] []
/src/libjpeg-turbo/src/jfdctflt.c [] []
/src/qpdf/include/qpdf/ObjectHandle.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jstdhuff.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/QPDFAnnotationObjectHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdpostct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_ASCIIHexDecoder.cc ['hex_fuzzer', 'future_hex_fuzzer'] ['hex_fuzzer', 'future_hex_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdmainct.h [] []
/src/libjpeg-turbo/src/jcomapi.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jcmainct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/RC4_native.cc [] []
/src/qpdf/include/qpdf/QPDFStreamFilter.hh [] []
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jmemmgr.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/include/qpdf/QPDFOutlineDocumentHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdmerge.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/QPDFObject.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jcparam.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/usr/local/bin/../include/c++/v1/variant [] []
/src/qpdf/include/qpdf/QPDFNameTreeObjectHelper.hh ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/fuzz/qpdf_fuzzer.cc ['future_qpdf_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_fuzzer']
/src/zlib/crc32.c ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] []
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDFSystemError.cc ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/simd/x86_64/jsimd.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jddctmgr.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/fuzz/qpdf_crypt_fuzzer.cc ['future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer'] ['future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jcinit.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/include/qpdf/QIntC.hh ['lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_flate_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_flate_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/AcroForm.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDF_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jidctred.c [] []
/src/qpdf/libqpdf/QPDF_pages.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDFWriter.cc ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/SHA2_native.cc [] []
/src/libjpeg-turbo/src/jmemnobs.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/fuzz/qpdf_lin_fuzzer.cc ['qpdf_lin_fuzzer', 'future_qpdf_lin_fuzzer'] ['qpdf_lin_fuzzer', 'future_qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_Base64.hh [] []
/src/qpdf/include/qpdf/JSON.hh ['future_json_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer'] ['future_json_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer']
/src/qpdf/libqpdf/BufferInputSource.cc ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/SecureRandomDataProvider.hh [] []
/src/qpdf/libqpdf/Pl_LZWDecoder.cc ['lzw_fuzzer', 'future_lzw_fuzzer'] ['lzw_fuzzer', 'future_lzw_fuzzer']
/src/qpdf/include/qpdf/QPDFCryptoImpl.hh [] []
/src/qpdf/libqpdf/QPDFObjectHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/include/qpdf/RandomDataProvider.hh [] []
/usr/local/bin/../include/c++/v1/optional [] []
/src/libjpeg-turbo/src/wrapper/../jcapistd.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/jclhuff.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/include/qpdf/QPDFDocumentHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/include/qpdf/Pipeline.hh ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'future_flate_fuzzer', 'runlength_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_pngpredictor_fuzzer', 'lzw_fuzzer', 'future_tiffpredictor_fuzzer', 'future_runlength_fuzzer', 'future_lzw_fuzzer', 'ascii85_fuzzer', 'future_flate_fuzzer', 'runlength_fuzzer', 'flate_fuzzer', 'tiffpredictor_fuzzer', 'future_ascii85_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'hex_fuzzer', 'future_qpdf_fuzzer', 'future_hex_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/include/qpdf/QPDFSystemError.hh ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jddiffct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/fuzz/tiffpredictor_fuzzer.cc ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jcmarker.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/MD5.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_QPDFTokenizer.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/QPDFOutlineDocumentHelper.cc ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/ResourceFinder.cc [] []
/src/qpdf/libqpdf/QPDFPageLabelDocumentHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jquant2.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/Pl_ASCIIHexDecoder.hh ['hex_fuzzer', 'future_hex_fuzzer'] []
/src/qpdf/libqpdf/QPDFFormFieldObjectHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jcprepct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/jcapimin.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/MD5_native.cc [] []
/src/libjpeg-turbo/src/jchuff.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/fuzz/flate_fuzzer.cc ['future_flate_fuzzer', 'flate_fuzzer'] ['future_flate_fuzzer', 'flate_fuzzer']
/src/qpdf/libqpdf/sph/md_helper.c [] []
/src/libjpeg-turbo/src/jerror.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/ContentNormalizer.cc [] []
/src/libjpeg-turbo/src/wrapper/../jfdctfst.c [] []
/src/qpdf/libqpdf/QPDFOutlineObjectHelper.cc ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/Pl_AES_PDF.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/NNTree.hh ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_TIFFPredictor.hh ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer']
/src/qpdf/include/qpdf/Pl_DCT.hh [] []
/src/libjpeg-turbo/src/jdinput.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/libjpeg-turbo/src/jdapimin.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/QPDF_encryption.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_DCT.cc ['future_dct_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_dct_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDFCryptoProvider.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/qpdf/RC4.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jdsample.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_SHA2.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/Pl_Buffer.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/QPDFParser.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/qpdf/libqpdf/MD5.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jcdctmgr.c ['future_dct_fuzzer', 'dct_fuzzer'] []

Directories in report

Directory
/src/qpdf/libqpdf/
/usr/local/bin/../include/c++/v1/__iterator/
/src/libjpeg-turbo/src/wrapper/../
/usr/local/bin/../include/c++/v1/__exception/
/src/zlib/
/src/libjpeg-turbo/simd/x86_64/
/src/libjpeg-turbo/src/
/src/qpdf/include/qpdf/
/src/qpdf/fuzz/
/src/qpdf/libqpdf/qpdf/
/usr/local/bin/../include/c++/v1/
/src/qpdf/libqpdf/sph/

Metadata section

This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.

Fuzzer Calltree file Program data file Coverage file
future_pngpredictor_fuzzer fuzzerLogFile-0-bwV6HKQDZ5.data fuzzerLogFile-0-bwV6HKQDZ5.data.yaml future_pngpredictor_fuzzer.covreport
lzw_fuzzer fuzzerLogFile-0-zCu4Sip1V9.data fuzzerLogFile-0-zCu4Sip1V9.data.yaml lzw_fuzzer.covreport
future_tiffpredictor_fuzzer fuzzerLogFile-0-YhCcv4uuYW.data fuzzerLogFile-0-YhCcv4uuYW.data.yaml future_tiffpredictor_fuzzer.covreport
future_runlength_fuzzer fuzzerLogFile-0-wcP91YTvAa.data fuzzerLogFile-0-wcP91YTvAa.data.yaml future_runlength_fuzzer.covreport
future_lzw_fuzzer fuzzerLogFile-0-WNPYsrZEs6.data fuzzerLogFile-0-WNPYsrZEs6.data.yaml future_lzw_fuzzer.covreport
ascii85_fuzzer fuzzerLogFile-0-XA3HlLMDB6.data fuzzerLogFile-0-XA3HlLMDB6.data.yaml ascii85_fuzzer.covreport
future_flate_fuzzer fuzzerLogFile-0-fCmQUaEamE.data fuzzerLogFile-0-fCmQUaEamE.data.yaml future_flate_fuzzer.covreport
runlength_fuzzer fuzzerLogFile-0-wmisTiQ9MC.data fuzzerLogFile-0-wmisTiQ9MC.data.yaml runlength_fuzzer.covreport
flate_fuzzer fuzzerLogFile-0-1cJIjZQjzw.data fuzzerLogFile-0-1cJIjZQjzw.data.yaml flate_fuzzer.covreport
tiffpredictor_fuzzer fuzzerLogFile-0-mJV3HQfQXI.data fuzzerLogFile-0-mJV3HQfQXI.data.yaml tiffpredictor_fuzzer.covreport
future_ascii85_fuzzer fuzzerLogFile-0-4UxOjzMaNi.data fuzzerLogFile-0-4UxOjzMaNi.data.yaml future_ascii85_fuzzer.covreport
future_dct_fuzzer fuzzerLogFile-0-2MGGlw9Wls.data fuzzerLogFile-0-2MGGlw9Wls.data.yaml future_dct_fuzzer.covreport
future_json_fuzzer fuzzerLogFile-0-jyaGngXZcH.data fuzzerLogFile-0-jyaGngXZcH.data.yaml future_json_fuzzer.covreport
qpdf_outlines_fuzzer fuzzerLogFile-0-8eRDXg8dVu.data fuzzerLogFile-0-8eRDXg8dVu.data.yaml qpdf_outlines_fuzzer.covreport
pngpredictor_fuzzer fuzzerLogFile-0-MMess91P32.data fuzzerLogFile-0-MMess91P32.data.yaml pngpredictor_fuzzer.covreport
future_qpdf_outlines_fuzzer fuzzerLogFile-0-fBm4496Ktw.data fuzzerLogFile-0-fBm4496Ktw.data.yaml future_qpdf_outlines_fuzzer.covreport
dct_fuzzer fuzzerLogFile-0-mjvE3yuUq8.data fuzzerLogFile-0-mjvE3yuUq8.data.yaml dct_fuzzer.covreport
hex_fuzzer fuzzerLogFile-0-xVKSjet2qJ.data fuzzerLogFile-0-xVKSjet2qJ.data.yaml hex_fuzzer.covreport
future_qpdf_fuzzer fuzzerLogFile-0-d7hUdGmGZj.data fuzzerLogFile-0-d7hUdGmGZj.data.yaml future_qpdf_fuzzer.covreport
future_hex_fuzzer fuzzerLogFile-0-7LHWYewGtl.data fuzzerLogFile-0-7LHWYewGtl.data.yaml future_hex_fuzzer.covreport
qpdf_lin_fuzzer fuzzerLogFile-0-kCQV1Argud.data fuzzerLogFile-0-kCQV1Argud.data.yaml qpdf_lin_fuzzer.covreport
future_qpdf_crypt_fuzzer fuzzerLogFile-0-ROYUufMIjX.data fuzzerLogFile-0-ROYUufMIjX.data.yaml future_qpdf_crypt_fuzzer.covreport
qpdf_crypt_fuzzer fuzzerLogFile-0-y31kDaCjBr.data fuzzerLogFile-0-y31kDaCjBr.data.yaml qpdf_crypt_fuzzer.covreport
future_qpdf_crypt_insecure_fuzzer fuzzerLogFile-0-RyZ5gdX9S0.data fuzzerLogFile-0-RyZ5gdX9S0.data.yaml future_qpdf_crypt_insecure_fuzzer.covreport
qpdf_crypt_insecure_fuzzer fuzzerLogFile-0-rSU8TFIdxv.data fuzzerLogFile-0-rSU8TFIdxv.data.yaml qpdf_crypt_insecure_fuzzer.covreport
qpdf_pages_fuzzer fuzzerLogFile-0-FGcslv4Ymo.data fuzzerLogFile-0-FGcslv4Ymo.data.yaml qpdf_pages_fuzzer.covreport
future_qpdf_pages_fuzzer fuzzerLogFile-0-TzzjWVznIr.data fuzzerLogFile-0-TzzjWVznIr.data.yaml future_qpdf_pages_fuzzer.covreport
json_fuzzer fuzzerLogFile-0-kmsaOsDzeD.data fuzzerLogFile-0-kmsaOsDzeD.data.yaml json_fuzzer.covreport
future_qpdf_lin_fuzzer fuzzerLogFile-0-nDJ4tPORet.data fuzzerLogFile-0-nDJ4tPORet.data.yaml future_qpdf_lin_fuzzer.covreport
qpdf_fuzzer fuzzerLogFile-0-gZHszAyddc.data fuzzerLogFile-0-gZHszAyddc.data.yaml qpdf_fuzzer.covreport