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_ascii85_fuzzer /src/qpdf/fuzz/ascii85_fuzzer.cc 41 26 5 7 127 76 ascii85_fuzzer.cc
ascii85_fuzzer /src/qpdf/fuzz/ascii85_fuzzer.cc 41 26 5 7 127 76 ascii85_fuzzer.cc
lzw_fuzzer /src/qpdf/fuzz/lzw_fuzzer.cc 70 48 10 11 255 180 lzw_fuzzer.cc
future_runlength_fuzzer /src/qpdf/fuzz/runlength_fuzzer.cc 53 25 6 6 177 100 runlength_fuzzer.cc
future_flate_fuzzer /src/qpdf/fuzz/flate_fuzzer.cc 130 417 11 15 2636 1001 flate_fuzzer.cc
future_pngpredictor_fuzzer /src/qpdf/fuzz/pngpredictor_fuzzer.cc 57 29 8 8 195 142 pngpredictor_fuzzer.cc
runlength_fuzzer /src/qpdf/fuzz/runlength_fuzzer.cc 53 25 6 6 177 100 runlength_fuzzer.cc
future_hex_fuzzer /src/qpdf/fuzz/hex_fuzzer.cc 40 28 5 7 123 77 hex_fuzzer.cc
pngpredictor_fuzzer /src/qpdf/fuzz/pngpredictor_fuzzer.cc 57 29 8 8 195 142 pngpredictor_fuzzer.cc
future_tiffpredictor_fuzzer /src/qpdf/fuzz/tiffpredictor_fuzzer.cc 79 36 11 13 258 197 tiffpredictor_fuzzer.cc
future_lzw_fuzzer /src/qpdf/fuzz/lzw_fuzzer.cc 70 48 10 11 255 180 lzw_fuzzer.cc
future_dct_fuzzer /src/qpdf/fuzz/dct_fuzzer.cc 231 516 10 53 3998 1680 dct_fuzzer.cc
future_json_fuzzer /src/qpdf/fuzz/json_fuzzer.cc 1459 2311 41 66 11769 8701 json_fuzzer.cc
qpdf_outlines_fuzzer /src/qpdf/fuzz/qpdf_outlines_fuzzer.cc 1627 2324 41 73 12849 9599 qpdf_outlines_fuzzer.cc
future_qpdf_outlines_fuzzer /src/qpdf/fuzz/qpdf_outlines_fuzzer.cc 1627 2327 41 73 12842 9593 qpdf_outlines_fuzzer.cc
qpdf_pages_fuzzer /src/qpdf/fuzz/qpdf_pages_fuzzer.cc 2202 2048 41 99 19138 14207 qpdf_pages_fuzzer.cc
tiffpredictor_fuzzer /src/qpdf/fuzz/tiffpredictor_fuzzer.cc 79 36 11 13 258 197 tiffpredictor_fuzzer.cc
dct_fuzzer /src/qpdf/fuzz/dct_fuzzer.cc 231 516 10 53 3998 1680 dct_fuzzer.cc
future_qpdf_fuzzer /src/qpdf/fuzz/qpdf_fuzzer.cc 2070 2261 41 91 18773 12828 qpdf_fuzzer.cc
hex_fuzzer /src/qpdf/fuzz/hex_fuzzer.cc 40 28 5 7 123 77 hex_fuzzer.cc
flate_fuzzer /src/qpdf/fuzz/flate_fuzzer.cc 130 417 11 15 2636 1001 flate_fuzzer.cc
future_qpdf_crypt_insecure_fuzzer /src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc 2090 2251 41 91 18933 12920 qpdf_crypt_insecure_fuzzer.cc
future_qpdf_crypt_fuzzer /src/qpdf/fuzz/qpdf_crypt_fuzzer.cc 2092 2250 41 91 18945 12922 qpdf_crypt_fuzzer.cc
json_fuzzer /src/qpdf/fuzz/json_fuzzer.cc 1459 2308 41 66 11769 8701 json_fuzzer.cc
qpdf_crypt_fuzzer /src/qpdf/fuzz/qpdf_crypt_fuzzer.cc 2092 2247 41 91 18952 12928 qpdf_crypt_fuzzer.cc
future_qpdf_lin_fuzzer /src/qpdf/fuzz/qpdf_lin_fuzzer.cc 2074 2259 41 91 18789 12832 qpdf_lin_fuzzer.cc
qpdf_fuzzer /src/qpdf/fuzz/qpdf_fuzzer.cc 2070 2258 41 91 18780 12834 qpdf_fuzzer.cc
future_qpdf_pages_fuzzer /src/qpdf/fuzz/qpdf_pages_fuzzer.cc 2202 2051 41 99 19131 14201 qpdf_pages_fuzzer.cc
qpdf_crypt_insecure_fuzzer /src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc 2090 2248 41 91 18940 12926 qpdf_crypt_insecure_fuzzer.cc
qpdf_lin_fuzzer /src/qpdf/fuzz/qpdf_lin_fuzzer.cc 2074 2256 41 91 18796 12838 qpdf_lin_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_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 6 12.5%
gold [1:9] 6 12.5%
yellow [10:29] 10 20.8%
greenyellow [30:49] 2 4.16%
lawngreen 50+ 24 50.0%
All colors 48 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
4 7 Pl_ASCII85Decoder::Pl_ASCII85Decoder(char const*, Pipeline*) call site: 00007 __cxa_allocate_exception
1 40 FuzzHelper::doChecks() call site: 00040
1 46 FuzzHelper::run() call site: 00046 __cxa_begin_catch

Runtime coverage analysis

Covered functions
16
Functions that are reachable but not covered
14
Reachable functions
41
Percentage of reachable functions covered
65.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/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/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_ASCII85Decoder.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 6 12.5%
gold [1:9] 6 12.5%
yellow [10:29] 10 20.8%
greenyellow [30:49] 2 4.16%
lawngreen 50+ 24 50.0%
All colors 48 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
4 7 Pl_ASCII85Decoder::Pl_ASCII85Decoder(char const*, Pipeline*) call site: 00007 __cxa_allocate_exception
1 40 FuzzHelper::doChecks() call site: 00040
1 46 FuzzHelper::run() call site: 00046 __cxa_begin_catch

Runtime coverage analysis

Covered functions
16
Functions that are reachable but not covered
14
Reachable functions
41
Percentage of reachable functions covered
65.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/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/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_ASCII85Decoder.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 31 36.4%
gold [1:9] 5 5.88%
yellow [10:29] 5 5.88%
greenyellow [30:49] 5 5.88%
lawngreen 50+ 39 45.8%
All colors 85 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 18 unsigned int QIntC::to_uint (unsigned long const&) call site: 00018 __cxa_allocate_exception
5 33 Pl_LZWDecoder::handleCode(unsigned int) call site: 00033 __cxa_allocate_exception
5 50 Pl_LZWDecoder::handleCode(unsigned int) call site: 00050 __cxa_allocate_exception
4 7 Pl_LZWDecoder::Pl_LZWDecoder(char const*, Pipeline*, bool) call site: 00007 __cxa_allocate_exception
4 39 Pl_LZWDecoder::getFirstChar(unsigned int) call site: 00039 __cxa_allocate_exception
4 58 Pl_LZWDecoder::addToTable(unsigned char) call site: 00058 __cxa_allocate_exception
1 83 FuzzHelper::run() call site: 00083 __cxa_begin_catch

Runtime coverage analysis

Covered functions
29
Functions that are reachable but not covered
23
Reachable functions
70
Percentage of reachable functions covered
67.14%
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/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_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 27 44.2%
gold [1:9] 0 0.0%
yellow [10:29] 5 8.19%
greenyellow [30:49] 5 8.19%
lawngreen 50+ 24 39.3%
All colors 61 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
20 14 FuzzHelper::doChecks() call site: 00014 __cxa_allocate_exception
4 8 Pl_RunLength::Pl_RunLength(char const*, Pipeline*, Pl_RunLength::action_e) call site: 00008 __cxa_allocate_exception
2 41 FuzzHelper::doChecks() call site: 00041
1 59 FuzzHelper::run() call site: 00059 __cxa_begin_catch

Runtime coverage analysis

Covered functions
21
Functions that are reachable but not covered
20
Reachable functions
53
Percentage of reachable functions covered
62.26%
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/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.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 143 63.2%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 83 36.7%
All colors 226 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 157 deflate call site: 00157 inflate
15 86 deflate call site: 00086 crc32
13 44 deflateResetKeep call site: 00044 crc32_z
12 9 unsigned long QIntC::to_size (unsigned int const&) call site: 00009 __cxa_allocate_exception
11 143 deflate call site: 00143 _tr_flush_block
8 63 deflateReset call site: 00063 inflateInit_
7 208 Pl_Flate::finish() call site: 00208 __cxa_begin_catch
6 185 unsigned long QIntC::to_ulong (unsigned long const&) call site: 00185 __cxa_allocate_exception
6 195 FuzzHelper::doChecks() call site: 00195 __cxa_allocate_exception
5 28 Pl_Flate::write(unsigned char const*, unsigned long) call site: 00028 __cxa_allocate_exception
5 137 _tr_flush_block call site: 00137 _tr_flush_block
4 23 FuzzHelper::doChecks() call site: 00023 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
66
Functions that are reachable but not covered
55
Reachable functions
130
Percentage of reachable functions covered
57.69%
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/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1

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 27 43.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 35 56.4%
All colors 62 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
20 7 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) call site: 00007 __cxa_allocate_exception
4 32 Pl_PNGFilter::write(unsigned char const*, unsigned long) call site: 00032
3 58 FuzzHelper::run() call site: 00058 __cxa_end_catch

Runtime coverage analysis

Covered functions
25
Functions that are reachable but not covered
12
Reachable functions
57
Percentage of reachable functions covered
78.95%
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/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: 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 27 44.2%
gold [1:9] 0 0.0%
yellow [10:29] 5 8.19%
greenyellow [30:49] 5 8.19%
lawngreen 50+ 24 39.3%
All colors 61 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
20 14 FuzzHelper::doChecks() call site: 00014 __cxa_allocate_exception
4 8 Pl_RunLength::Pl_RunLength(char const*, Pipeline*, Pl_RunLength::action_e) call site: 00008 __cxa_allocate_exception
2 41 FuzzHelper::doChecks() call site: 00041
1 59 FuzzHelper::run() call site: 00059 __cxa_begin_catch

Runtime coverage analysis

Covered functions
21
Functions that are reachable but not covered
20
Reachable functions
53
Percentage of reachable functions covered
62.26%
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/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.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 6 16.6%
gold [1:9] 1 2.77%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 16.6%
lawngreen 50+ 23 63.8%
All colors 36 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
4 7 Pl_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const*, Pipeline*) call site: 00007 __cxa_allocate_exception
1 28 FuzzHelper::doChecks() call site: 00028
1 34 FuzzHelper::run() call site: 00034 __cxa_begin_catch

Runtime coverage analysis

Covered functions
16
Functions that are reachable but not covered
13
Reachable functions
40
Percentage of reachable functions covered
67.5%
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/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_ASCIIHexDecoder.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 27 43.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 35 56.4%
All colors 62 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
20 7 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) call site: 00007 __cxa_allocate_exception
4 32 Pl_PNGFilter::write(unsigned char const*, unsigned long) call site: 00032
3 58 FuzzHelper::run() call site: 00058 __cxa_end_catch

Runtime coverage analysis

Covered functions
25
Functions that are reachable but not covered
12
Reachable functions
57
Percentage of reachable functions covered
78.95%
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/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_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 49 57.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 36 42.3%
All colors 85 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
20 7 Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int) call site: 00007 __cxa_allocate_exception
13 37 unsigned int QIntC::to_uint (unsigned long const&) call site: 00037 __cxa_allocate_exception
7 52 BitStream::getBitsSigned(unsigned long) call site: 00052 __cxa_allocate_exception
5 62 BitWriter::writeBits(unsigned long long, unsigned long) call site: 00062 __cxa_allocate_exception
3 81 FuzzHelper::run() call site: 00081 __cxa_end_catch
1 68 Pl_TIFFPredictor::processRow() call site: 00068

Runtime coverage analysis

Covered functions
28
Functions that are reachable but not covered
28
Reachable functions
79
Percentage of reachable functions covered
64.56%
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/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_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 31 36.4%
gold [1:9] 5 5.88%
yellow [10:29] 5 5.88%
greenyellow [30:49] 5 5.88%
lawngreen 50+ 39 45.8%
All colors 85 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 18 unsigned int QIntC::to_uint (unsigned long const&) call site: 00018 __cxa_allocate_exception
5 33 Pl_LZWDecoder::handleCode(unsigned int) call site: 00033 __cxa_allocate_exception
5 50 Pl_LZWDecoder::handleCode(unsigned int) call site: 00050 __cxa_allocate_exception
4 7 Pl_LZWDecoder::Pl_LZWDecoder(char const*, Pipeline*, bool) call site: 00007 __cxa_allocate_exception
4 39 Pl_LZWDecoder::getFirstChar(unsigned int) call site: 00039 __cxa_allocate_exception
4 58 Pl_LZWDecoder::addToTable(unsigned char) call site: 00058 __cxa_allocate_exception
1 83 FuzzHelper::run() call site: 00083 __cxa_begin_catch

Runtime coverage analysis

Covered functions
29
Functions that are reachable but not covered
23
Reachable functions
70
Percentage of reachable functions covered
67.14%
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/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_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 179 55.0%
gold [1:9] 18 5.53%
yellow [10:29] 6 1.84%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 122 37.5%
All colors 325 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 97 init_simd call site: 00097 jinit_forward_dct
32 48 std_huff_tables call site: 00048 jpeg_start_compress
28 154 unsigned int QIntC::to_uint (int const&) call site: 00154 jpeg_finish_compress
19 229 master_selection call site: 00229 jinit_1pass_quantizer
11 32 jinit_memory_mgr call site: 00032 jpeg_set_defaults
9 205 jpeg_core_output_dimensions call site: 00205 jdiv_round_up
7 197 jpeg_calc_output_dimensions call site: 00197 jdiv_round_up
4 11 Pl_DCT::Pl_DCT(char const*, Pipeline*) call site: 00011 __cxa_allocate_exception
3 23 Pl_DCT::finish() call site: 00023 jpeg_CreateCompress
3 253 jinit_color_deconverter call site: 00253 jsimd_can_ycc_rgb565
2 306 Pl_DCT::finish() call site: 00306 jpeg_destroy_compress
1 18 FuzzHelper::doChecks() call site: 00018

Runtime coverage analysis

Covered functions
206
Functions that are reachable but not covered
124
Reachable functions
231
Percentage of reachable functions covered
46.32%
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/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] 25 0.80%
yellow [10:29] 45 1.44%
greenyellow [30:49] 26 0.83%
lawngreen 50+ 656 21.0%
All colors 3120 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
227 2673 std::__1::shared_ptr QPDFObject::create (bool&) call site: 02673 _ZN4qpdf7IntegerC2ITkNSt3__18integralEmEET_
221 2038 QUtil::hex_decode(std::__1::basic_string , std::__1::allocator > const&) call site: 02038 __cxa_allocate_exception
176 1648 std::__1::shared_ptr QPDFObject::create , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator >&&) call site: 01648 __cxa_guard_acquire
161 1876 QPDF::EncryptionParameters::initialize(QPDF&) call site: 01876 __cxa_allocate_exception
103 2429 QPDFObjectHandle::getObjectID() const call site: 02429 __cxa_allocate_exception
83 1372 QPDFObjectHandle::getIntValueAsInt() const call site: 01372 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralExEEv
81 805 QPDFObject::move_to(std::__1::shared_ptr &, bool) call site: 00805 __cxa_allocate_exception
70 1253 qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&) call site: 01253 __cxa_allocate_exception
64 1086 QPDFLogger::defaultLogger() call site: 01086 __cxa_end_catch
56 1498 QPDF::warn(qpdf_error_code_e, std::__1::basic_string , std::__1::allocator > const&, long long, std::__1::basic_string , std::__1::allocator > const&) call site: 01498 __dynamic_cast
53 2280 QPDF::getObject(QPDFObjGen) call site: 02280 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralEjEEv
44 704 QPDFParser::parseRemainder(bool) call site: 00704 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
450
Functions that are reachable but not covered
759
Reachable functions
1459
Percentage of reachable functions covered
47.98%
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 4
/src/qpdf/libqpdf/QUtil.cc 12
/src/qpdf/include/qpdf/QIntC.hh 40
/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 25
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/QPDF_json.cc 5
/src/qpdf/libqpdf/QPDF_objects.cc 47
/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 33
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 85
/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/QPDFXRefEntry.cc 3
/src/qpdf/libqpdf/QPDF_Dictionary.cc 13
/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 645 18.1%
gold [1:9] 137 3.85%
yellow [10:29] 61 1.71%
greenyellow [30:49] 18 0.50%
lawngreen 50+ 2690 75.7%
All colors 3551 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 2369 std::__1::shared_ptr QPDFObject::create , std::__1::allocator >&>(std::__1::basic_string , std::__1::allocator >&) call site: 02369 __cxa_allocate_exception
19 2348 QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool) call site: 02348 __cxa_allocate_exception
15 1221 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01221 __cxa_allocate_exception
14 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception
11 174 qpdf::Tokenizer::inBeforeToken(char) call site: 00174 __cxa_allocate_exception
10 912 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00912 __cxa_allocate_exception
9 1832 Pl_AES_PDF::flush(bool) call site: 01832 __cxa_allocate_exception
8 22 long long QIntC::to_offset (unsigned long const&) call site: 00022 __cxa_allocate_exception
8 1390 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01390
7 345 QPDF::warn(QPDFExc const&) call site: 00345 __cxa_allocate_exception
7 1141 QPDFObjectHandle::getName() const call site: 01141 __cxa_allocate_exception
7 1365 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01365

Runtime coverage analysis

Covered functions
987
Functions that are reachable but not covered
234
Reachable functions
1627
Percentage of reachable functions covered
85.62%
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 46
/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 28
/src/qpdf/libqpdf/QPDF_objects.cc 47
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 33
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 104
/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/QPDFXRefEntry.cc 3
/src/qpdf/libqpdf/QPDF_Dictionary.cc 15
/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: 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 660 18.5%
gold [1:9] 120 3.38%
yellow [10:29] 79 2.22%
greenyellow [30:49] 34 0.95%
lawngreen 50+ 2656 74.8%
All colors 3549 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 2367 std::__1::shared_ptr QPDFObject::create , std::__1::allocator >&>(std::__1::basic_string , std::__1::allocator >&) call site: 02367 __cxa_allocate_exception
25 1373 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01373
19 2346 QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool) call site: 02346 __cxa_allocate_exception
15 1219 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01219 __cxa_allocate_exception
14 1242 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01242 __cxa_allocate_exception
11 165 qpdf::Tokenizer::inBeforeToken(char) call site: 00165 __cxa_allocate_exception
10 910 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00910 __cxa_allocate_exception
10 1360 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01360
9 1830 Pl_AES_PDF::flush(bool) call site: 01830 __cxa_allocate_exception
8 40 unsigned long QIntC::to_size (long const&) call site: 00040 __cxa_allocate_exception
7 336 QPDF::warn(QPDFExc const&) call site: 00336 __cxa_allocate_exception
7 1139 QPDFObjectHandle::getName() const call site: 01139 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
991
Functions that are reachable but not covered
236
Reachable functions
1627
Percentage of reachable functions covered
85.49%
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 28
/src/qpdf/libqpdf/QPDF_objects.cc 47
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 46
/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/libqpdf/qpdf/Util.hh 6
/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 33
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 104
/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/QPDFXRefEntry.cc 3
/src/qpdf/libqpdf/QPDF_Dictionary.cc 15
/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: 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 1322 24.0%
gold [1:9] 122 2.22%
yellow [10:29] 103 1.87%
greenyellow [30:49] 51 0.92%
lawngreen 50+ 3896 70.9%
All colors 5494 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
80 3748 QPDFObjectHandle::newName(std::__1::basic_string , std::__1::allocator > const&) call site: 03748
75 4012 QPDFObjectHandle::replaceDict(QPDFObjectHandle const&) call site: 04012
59 5124 (anonymous namespace)::JSONParser::getToken() call site: 05124 __cxa_allocate_exception
47 4200 Pl_QPDFTokenizer::finish() call site: 04200 strtod
41 3705 QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded() call site: 03705
21 3660 QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded() call site: 03660
21 4147 qpdf::Name::normalize(std::__1::basic_string , std::__1::allocator > const&) call site: 04147 __cxa_allocate_exception
19 2404 qpdf::BaseHandle::copy(bool) const call site: 02404 __cxa_allocate_exception
19 3949 QPDFObjectHandle::newFromRectangle(QPDFObjectHandle::Rectangle const&) call site: 03949 __cxa_allocate_exception
19 5257 (anonymous namespace)::JSONParser::handleToken() call site: 05257 __cxa_allocate_exception
18 4373 QPDFObjectHandle::mergeResources(QPDFObjectHandle, std::__1::map , std::__1::allocator >, std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::map , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, std::__1::basic_string , std::__1::allocator > > > > > > >*) call site: 04373
16 3558 QPDFAcroFormDocumentHelper::traverseField(QPDFObjectHandle, QPDFObjectHandle const&, int) call site: 03558

Runtime coverage analysis

Covered functions
1310
Functions that are reachable but not covered
260
Reachable functions
2202
Percentage of reachable functions covered
88.19%
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 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 3
/src/qpdf/include/qpdf/InputSource.hh 4
/src/qpdf/include/qpdf/QIntC.hh 51
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 5
/src/qpdf/libqpdf/QPDF.cc 22
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 31
/src/qpdf/libqpdf/QPDF_objects.cc 48
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 7
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 109
/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 117
/src/qpdf/libqpdf/QPDFXRefEntry.cc 3
/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 19
/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 8
/src/qpdf/libqpdf/QPDFFormFieldObjectHelper.cc 38
/src/qpdf/include/qpdf/QPDFFormFieldObjectHelper.hh 3
/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/qpdf/FormField.hh 2
/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: 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 49 57.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 36 42.3%
All colors 85 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
20 7 Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int) call site: 00007 __cxa_allocate_exception
13 37 unsigned int QIntC::to_uint (unsigned long const&) call site: 00037 __cxa_allocate_exception
7 52 BitStream::getBitsSigned(unsigned long) call site: 00052 __cxa_allocate_exception
5 62 BitWriter::writeBits(unsigned long long, unsigned long) call site: 00062 __cxa_allocate_exception
3 81 FuzzHelper::run() call site: 00081 __cxa_end_catch
1 68 Pl_TIFFPredictor::processRow() call site: 00068

Runtime coverage analysis

Covered functions
28
Functions that are reachable but not covered
28
Reachable functions
79
Percentage of reachable functions covered
64.56%
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/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: 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 179 55.0%
gold [1:9] 18 5.53%
yellow [10:29] 6 1.84%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 122 37.5%
All colors 325 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 97 init_simd call site: 00097 jinit_forward_dct
32 48 std_huff_tables call site: 00048 jpeg_start_compress
28 154 unsigned int QIntC::to_uint (int const&) call site: 00154 jpeg_finish_compress
19 229 master_selection call site: 00229 jinit_1pass_quantizer
11 32 jinit_memory_mgr call site: 00032 jpeg_set_defaults
9 205 jpeg_core_output_dimensions call site: 00205 jdiv_round_up
7 197 jpeg_calc_output_dimensions call site: 00197 jdiv_round_up
4 11 Pl_DCT::Pl_DCT(char const*, Pipeline*) call site: 00011 __cxa_allocate_exception
3 23 Pl_DCT::finish() call site: 00023 jpeg_CreateCompress
3 253 jinit_color_deconverter call site: 00253 jsimd_can_ycc_rgb565
2 306 Pl_DCT::finish() call site: 00306 jpeg_destroy_compress
1 18 FuzzHelper::doChecks() call site: 00018

Runtime coverage analysis

Covered functions
206
Functions that are reachable but not covered
124
Reachable functions
231
Percentage of reachable functions covered
46.32%
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/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_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 1517 31.8%
gold [1:9] 132 2.77%
yellow [10:29] 84 1.76%
greenyellow [30:49] 47 0.98%
lawngreen 50+ 2985 62.6%
All colors 4765 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 3145 qpdf::impl::Writer::write() call site: 03145 __assert_fail
120 4424 qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle) call site: 04424 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
81 3680 Pl_Flate::checkError(char const*, int) call site: 03680 deflate
54 4656 qpdf::impl::Writer::writeStandard() call site: 04656
42 2841 qpdf::impl::Writer::generateID(bool) call site: 02841
39 4581 BitWriter::flush() call site: 04581
30 4550 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04550 __cxa_allocate_exception
27 4621 qpdf::pl::Count::~Count() call site: 04621 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
25 2396 qpdf::BaseHandle::copy(bool) const call site: 02396 __cxa_allocate_exception
23 3425 (anonymous namespace)::Pl_stack::popper() call site: 03425 fopen
23 3474 qpdf::impl::Writer::openObject(int) call site: 03474 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
23 3642 unsigned int QIntC::to_uint (unsigned long const&) call site: 03642 deflateInit_

Runtime coverage analysis

Covered functions
1278
Functions that are reachable but not covered
432
Reachable functions
2070
Percentage of reachable functions covered
79.13%
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 42
/src/qpdf/libqpdf/QPDF_objects.cc 53
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 95
/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/QPDFXRefEntry.cc 4
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/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 10
/src/zlib/inftrees.c 1
/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: 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 6 16.6%
gold [1:9] 1 2.77%
yellow [10:29] 0 0.0%
greenyellow [30:49] 6 16.6%
lawngreen 50+ 23 63.8%
All colors 36 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
4 7 Pl_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const*, Pipeline*) call site: 00007 __cxa_allocate_exception
1 28 FuzzHelper::doChecks() call site: 00028
1 34 FuzzHelper::run() call site: 00034 __cxa_begin_catch

Runtime coverage analysis

Covered functions
16
Functions that are reachable but not covered
13
Reachable functions
40
Percentage of reachable functions covered
67.5%
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/include/qpdf/Pipeline.hh 2
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/libqpdf/qpdf/Pl_ASCIIHexDecoder.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 143 63.2%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 83 36.7%
All colors 226 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 157 deflate call site: 00157 inflate
15 86 deflate call site: 00086 crc32
13 44 deflateResetKeep call site: 00044 crc32_z
12 9 unsigned long QIntC::to_size (unsigned int const&) call site: 00009 __cxa_allocate_exception
11 143 deflate call site: 00143 _tr_flush_block
8 63 deflateReset call site: 00063 inflateInit_
7 208 Pl_Flate::finish() call site: 00208 __cxa_begin_catch
6 185 unsigned long QIntC::to_ulong (unsigned long const&) call site: 00185 __cxa_allocate_exception
6 195 FuzzHelper::doChecks() call site: 00195 __cxa_allocate_exception
5 28 Pl_Flate::write(unsigned char const*, unsigned long) call site: 00028 __cxa_allocate_exception
5 137 _tr_flush_block call site: 00137 _tr_flush_block
4 23 FuzzHelper::doChecks() call site: 00023 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
66
Functions that are reachable but not covered
55
Reachable functions
130
Percentage of reachable functions covered
57.69%
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/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 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 1728 35.8%
gold [1:9] 124 2.57%
yellow [10:29] 109 2.26%
greenyellow [30:49] 44 0.91%
lawngreen 50+ 2812 58.3%
All colors 4817 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
233 3197 qpdf::impl::Writer::write() call site: 03197 __assert_fail
79 4517 qpdf::impl::Writer::writeEncryptionDictionary() call site: 04517 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
75 3015 ObjTable ::large_element(unsigned long) call site: 03015 __cxa_allocate_exception
57 4422 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04422 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEmEERS1_T_
54 4708 qpdf::impl::Writer::writeStandard() call site: 04708
47 2901 qpdf::impl::Writer::doWriteSetup() call site: 02901
39 4633 BitWriter::flush() call site: 04633
34 4360 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04360 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
30 3603 qpdf::pl::Count::write(unsigned char const*, unsigned long) call site: 03603 __cxa_allocate_exception
30 4602 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04602 __cxa_allocate_exception
29 3477 (anonymous namespace)::Pl_stack::popper() call site: 03477 fopen
27 4673 qpdf::pl::Count::~Count() call site: 04673 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_

Runtime coverage analysis

Covered functions
1249
Functions that are reachable but not covered
476
Reachable functions
2090
Percentage of reachable functions covered
77.22%
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 42
/src/qpdf/libqpdf/QPDF_objects.cc 53
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 95
/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/QPDFXRefEntry.cc 4
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/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 10
/src/zlib/inftrees.c 1
/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 1025 21.2%
gold [1:9] 115 2.38%
yellow [10:29] 111 2.30%
greenyellow [30:49] 46 0.95%
lawngreen 50+ 3522 73.0%
All colors 4819 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
92 4703 qpdf::impl::Writer::write() call site: 04703 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
47 2903 qpdf::impl::Writer::doWriteSetup() call site: 02903
26 2803 qpdf::impl::Writer::generateID(bool) call site: 02803 __cxa_allocate_exception
25 2396 qpdf::BaseHandle::copy(bool) const call site: 02396 __cxa_allocate_exception
19 4295 qpdf::impl::Writer::writeTrailer(qpdf::impl::Writer::trailer_e, int, bool, long long, int) call site: 04295 __cxa_allocate_exception
18 3481 qpdf::impl::Writer::writeLinearized() call site: 03481 fopen
17 4176 qpdf::BaseHandle::unparse() const call site: 04176 __cxa_allocate_exception
16 2840 qpdf::impl::Writer::setEncryptionParameters(char const*, char const*) call site: 02840 __cxa_allocate_exception
16 2951 qpdf::impl::Writer::doWriteSetup() call site: 02951
15 1219 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01219 __cxa_allocate_exception
15 3744 deflate call site: 03744 crc32
14 1242 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01242 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1333
Functions that are reachable but not covered
335
Reachable functions
2092
Percentage of reachable functions covered
83.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/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 42
/src/qpdf/libqpdf/QPDF_objects.cc 53
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 95
/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/QPDFXRefEntry.cc 4
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/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 10
/src/zlib/inftrees.c 1
/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: 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] 31 0.99%
yellow [10:29] 48 1.53%
greenyellow [30:49] 18 0.57%
lawngreen 50+ 655 20.9%
All colors 3120 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
227 2673 std::__1::shared_ptr QPDFObject::create (bool&) call site: 02673 _ZN4qpdf7IntegerC2ITkNSt3__18integralEmEET_
221 2038 QUtil::hex_decode(std::__1::basic_string , std::__1::allocator > const&) call site: 02038 __cxa_allocate_exception
176 1648 std::__1::shared_ptr QPDFObject::create , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator >&&) call site: 01648 __cxa_guard_acquire
161 1876 QPDF::EncryptionParameters::initialize(QPDF&) call site: 01876 __cxa_allocate_exception
103 2429 QPDFObjectHandle::getObjectID() const call site: 02429 __cxa_allocate_exception
83 1372 QPDFObjectHandle::getIntValueAsInt() const call site: 01372 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralExEEv
81 805 QPDFObject::move_to(std::__1::shared_ptr &, bool) call site: 00805 __cxa_allocate_exception
70 1253 qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&) call site: 01253 __cxa_allocate_exception
64 1086 QPDFLogger::defaultLogger() call site: 01086 __cxa_end_catch
56 1498 QPDF::warn(qpdf_error_code_e, std::__1::basic_string , std::__1::allocator > const&, long long, std::__1::basic_string , std::__1::allocator > const&) call site: 01498 __dynamic_cast
53 2280 QPDF::getObject(QPDFObjGen) call site: 02280 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralEjEEv
44 704 QPDFParser::parseRemainder(bool) call site: 00704 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
448
Functions that are reachable but not covered
759
Reachable functions
1459
Percentage of reachable functions covered
47.98%
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 4
/src/qpdf/libqpdf/QUtil.cc 12
/src/qpdf/include/qpdf/QIntC.hh 40
/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 25
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/QPDF_json.cc 5
/src/qpdf/libqpdf/QPDF_objects.cc 47
/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 33
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 85
/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/QPDFXRefEntry.cc 3
/src/qpdf/libqpdf/QPDF_Dictionary.cc 13
/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_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 1026 21.2%
gold [1:9] 115 2.38%
yellow [10:29] 100 2.07%
greenyellow [30:49] 63 1.30%
lawngreen 50+ 3517 72.9%
All colors 4821 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
92 4705 qpdf::impl::Writer::write() call site: 04705 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
47 2905 qpdf::impl::Writer::doWriteSetup() call site: 02905
26 2805 qpdf::impl::Writer::generateID(bool) call site: 02805 __cxa_allocate_exception
25 2398 qpdf::BaseHandle::copy(bool) const call site: 02398 __cxa_allocate_exception
19 4297 qpdf::impl::Writer::writeTrailer(qpdf::impl::Writer::trailer_e, int, bool, long long, int) call site: 04297 __cxa_allocate_exception
18 3483 qpdf::impl::Writer::writeLinearized() call site: 03483 fopen
17 4178 qpdf::BaseHandle::unparse() const call site: 04178 __cxa_allocate_exception
16 2842 qpdf::impl::Writer::setEncryptionParameters(char const*, char const*) call site: 02842 __cxa_allocate_exception
16 2953 qpdf::impl::Writer::doWriteSetup() call site: 02953
15 1221 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01221 __cxa_allocate_exception
15 3746 deflate call site: 03746 crc32
14 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1330
Functions that are reachable but not covered
335
Reachable functions
2092
Percentage of reachable functions covered
83.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/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 42
/src/qpdf/libqpdf/QPDF_objects.cc 53
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 95
/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/QPDFXRefEntry.cc 4
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/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 10
/src/zlib/inftrees.c 1
/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_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 1081 22.6%
gold [1:9] 130 2.72%
yellow [10:29] 98 2.05%
greenyellow [30:49] 61 1.27%
lawngreen 50+ 3398 71.2%
All colors 4768 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
92 4652 qpdf::impl::Writer::write() call site: 04652 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
39 4429 qpdf::impl::Writer::writeLinearized() call site: 04429 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
27 2966 ObjTable ::large_element(unsigned long) call site: 02966 __cxa_allocate_exception
25 1373 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01373
25 2396 qpdf::BaseHandle::copy(bool) const call site: 02396 __cxa_allocate_exception
22 4202 qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool) call site: 04202
18 3430 qpdf::impl::Writer::writeLinearized() call site: 03430 fopen
17 4125 qpdf::BaseHandle::unparse() const call site: 04125 __cxa_allocate_exception
16 2900 qpdf::impl::Writer::doWriteSetup() call site: 02900
15 1219 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01219 __cxa_allocate_exception
15 3693 deflate call site: 03693 crc32
14 1242 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01242 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1334
Functions that are reachable but not covered
325
Reachable functions
2074
Percentage of reachable functions covered
84.33%
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 42
/src/qpdf/libqpdf/QPDF_objects.cc 53
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 95
/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/QPDFXRefEntry.cc 4
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/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 10
/src/zlib/inftrees.c 1
/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 1514 31.7%
gold [1:9] 104 2.18%
yellow [10:29] 62 1.30%
greenyellow [30:49] 101 2.11%
lawngreen 50+ 2986 62.6%
All colors 4767 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 3147 qpdf::impl::Writer::write() call site: 03147 __assert_fail
120 4426 qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle) call site: 04426 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
81 3682 Pl_Flate::checkError(char const*, int) call site: 03682 deflate
54 4658 qpdf::impl::Writer::writeStandard() call site: 04658
42 2843 qpdf::impl::Writer::generateID(bool) call site: 02843
39 4583 BitWriter::flush() call site: 04583
30 4552 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04552 __cxa_allocate_exception
27 4623 qpdf::pl::Count::~Count() call site: 04623 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
25 2398 qpdf::BaseHandle::copy(bool) const call site: 02398 __cxa_allocate_exception
23 3427 (anonymous namespace)::Pl_stack::popper() call site: 03427 fopen
23 3476 qpdf::impl::Writer::openObject(int) call site: 03476 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
23 3644 unsigned int QIntC::to_uint (unsigned long const&) call site: 03644 deflateInit_

Runtime coverage analysis

Covered functions
1275
Functions that are reachable but not covered
428
Reachable functions
2070
Percentage of reachable functions covered
79.32%
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 42
/src/qpdf/libqpdf/QPDF_objects.cc 53
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 95
/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/QPDFXRefEntry.cc 4
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/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 10
/src/zlib/inftrees.c 1
/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_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 1422 25.8%
gold [1:9] 119 2.16%
yellow [10:29] 77 1.40%
greenyellow [30:49] 52 0.94%
lawngreen 50+ 3822 69.5%
All colors 5492 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
80 3746 QPDFObjectHandle::newName(std::__1::basic_string , std::__1::allocator > const&) call site: 03746
75 4010 QPDFObjectHandle::replaceDict(QPDFObjectHandle const&) call site: 04010
69 3306 NNTreeIterator::split(qpdf::Dictionary, std::__1::__list_iterator ) call site: 03306 __cxa_allocate_exception
59 5122 (anonymous namespace)::JSONParser::getToken() call site: 05122 __cxa_allocate_exception
50 3234 NNTreeIterator::resetLimits(qpdf::Dictionary, std::__1::__list_iterator ) call site: 03234
47 4198 Pl_QPDFTokenizer::finish() call site: 04198 strtod
41 3703 QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded() call site: 03703
21 3658 QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded() call site: 03658
21 4145 qpdf::Name::normalize(std::__1::basic_string , std::__1::allocator > const&) call site: 04145 __cxa_allocate_exception
19 2402 qpdf::BaseHandle::copy(bool) const call site: 02402 __cxa_allocate_exception
19 3947 QPDFObjectHandle::newFromRectangle(QPDFObjectHandle::Rectangle const&) call site: 03947 __cxa_allocate_exception
19 5255 (anonymous namespace)::JSONParser::handleToken() call site: 05255 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1310
Functions that are reachable but not covered
266
Reachable functions
2202
Percentage of reachable functions covered
87.92%
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 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 3
/src/qpdf/include/qpdf/InputSource.hh 4
/src/qpdf/libqpdf/QPDF.cc 22
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 31
/src/qpdf/libqpdf/QPDF_objects.cc 48
/src/qpdf/libqpdf/InputSource.cc 7
/src/qpdf/include/qpdf/QTC.hh 1
/src/qpdf/include/qpdf/QIntC.hh 51
/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/libqpdf/qpdf/Util.hh 7
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 109
/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 117
/src/qpdf/libqpdf/QPDFXRefEntry.cc 3
/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 19
/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 8
/src/qpdf/libqpdf/QPDFFormFieldObjectHelper.cc 38
/src/qpdf/include/qpdf/QPDFFormFieldObjectHelper.hh 3
/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/qpdf/FormField.hh 2
/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: 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 1729 35.8%
gold [1:9] 107 2.22%
yellow [10:29] 96 1.99%
greenyellow [30:49] 57 1.18%
lawngreen 50+ 2830 58.7%
All colors 4819 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
233 3199 qpdf::impl::Writer::write() call site: 03199 __assert_fail
79 4519 qpdf::impl::Writer::writeEncryptionDictionary() call site: 04519 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
75 3017 ObjTable ::large_element(unsigned long) call site: 03017 __cxa_allocate_exception
57 4424 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04424 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEmEERS1_T_
54 4710 qpdf::impl::Writer::writeStandard() call site: 04710
47 2903 qpdf::impl::Writer::doWriteSetup() call site: 02903
39 4635 BitWriter::flush() call site: 04635
34 4362 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04362 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
30 3605 qpdf::pl::Count::write(unsigned char const*, unsigned long) call site: 03605 __cxa_allocate_exception
30 4604 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04604 __cxa_allocate_exception
29 3479 (anonymous namespace)::Pl_stack::popper() call site: 03479 fopen
27 4675 qpdf::pl::Count::~Count() call site: 04675 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_

Runtime coverage analysis

Covered functions
1244
Functions that are reachable but not covered
476
Reachable functions
2090
Percentage of reachable functions covered
77.22%
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 42
/src/qpdf/libqpdf/QPDF_objects.cc 53
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 95
/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/QPDFXRefEntry.cc 4
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/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 10
/src/zlib/inftrees.c 1
/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_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 1086 22.7%
gold [1:9] 128 2.68%
yellow [10:29] 115 2.41%
greenyellow [30:49] 66 1.38%
lawngreen 50+ 3375 70.7%
All colors 4770 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
92 4654 qpdf::impl::Writer::write() call site: 04654 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
39 4431 qpdf::impl::Writer::writeLinearized() call site: 04431 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
27 2968 ObjTable ::large_element(unsigned long) call site: 02968 __cxa_allocate_exception
25 1375 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01375
25 2398 qpdf::BaseHandle::copy(bool) const call site: 02398 __cxa_allocate_exception
22 4204 qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool) call site: 04204
18 3432 qpdf::impl::Writer::writeLinearized() call site: 03432 fopen
17 4127 qpdf::BaseHandle::unparse() const call site: 04127 __cxa_allocate_exception
16 2902 qpdf::impl::Writer::doWriteSetup() call site: 02902
15 1221 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01221 __cxa_allocate_exception
15 3695 deflate call site: 03695 crc32
14 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
1329
Functions that are reachable but not covered
325
Reachable functions
2074
Percentage of reachable functions covered
84.33%
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 42
/src/qpdf/libqpdf/QPDF_objects.cc 53
/src/qpdf/libqpdf/InputSource.cc 7
/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/libqpdf/qpdf/Util.hh 6
/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 34
/src/qpdf/libqpdf/qpdf/QPDFParser.hh 5
/src/qpdf/libqpdf/qpdf/global_private.hh 2
/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 95
/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/QPDFXRefEntry.cc 4
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/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 10
/src/zlib/inftrees.c 1
/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 1504 0 9342 1376
QPDFPageObjectHelper::flattenRotation(QPDFAcroFormDocumentHelper*) /src/qpdf/libqpdf/QPDFPageObjectHelper.cc 2 ['N/A', 'N/A'] 47 0 1085 191 142 1908 0 11334 1354
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 1414 252 234 1477 0 8512 486
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 1068 198 164 5 3 332 328
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 1479 0 8511 289
(anonymousnamespace)::InlineImageTracker::handleToken(QPDFTokenizer::Tokenconst&) /src/qpdf/libqpdf/QPDFPageObjectHelper.cc 2 ['N/A', 'N/A'] 43 0 373 68 52 1383 0 8167 267

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

Functions statically reachable by fuzzers
55.0%
1851 / 3366
Cyclomatic complexity statically reachable by fuzzers
71.0%
25234 / 35473

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/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/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/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::handleCode(unsigned int)', 'Pl_LZWDecoder::handleCode(unsigned int)', 'Pl_LZWDecoder::Pl_LZWDecoder(char const*, Pipeline*, bool)', 'Pl_LZWDecoder::getFirstChar(unsigned int)', 'Pl_LZWDecoder::addToTable(unsigned char)', 'FuzzHelper::run()']

/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::write(unsigned char const*, unsigned long)']

/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::write(unsigned char const*, unsigned long)', 'FuzzHelper::run()']

/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/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/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::write(unsigned char const*, unsigned long)', '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=['Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int)', 'unsigned int QIntC::to_uint(unsigned long const&)', 'BitStream::getBitsSigned(unsigned long)', 'BitWriter::writeBits(unsigned long long, unsigned long)', 'FuzzHelper::run()', 'Pl_TIFFPredictor::processRow()']

/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::handleCode(unsigned int)', 'Pl_LZWDecoder::handleCode(unsigned int)', 'Pl_LZWDecoder::Pl_LZWDecoder(char const*, Pipeline*, bool)', 'Pl_LZWDecoder::getFirstChar(unsigned int)', 'Pl_LZWDecoder::addToTable(unsigned char)', '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', 'QPDFObject::move_to(std::__1::shared_ptr&, bool)', 'qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&)', 'QPDFLogger::defaultLogger()', 'QPDF::warn(qpdf_error_code_e, std::__1::basic_string, std::__1::allocator > const&, long long, std::__1::basic_string, std::__1::allocator > const&)']

/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)', 'qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool)', 'QPDFObjectHandle::hasKey(std::__1::basic_string, std::__1::allocator > const&) const', 'qpdf::Tokenizer::inBeforeToken(char)', 'qpdf::Stream::Stream(std::__1::shared_ptr const&)', 'Pl_AES_PDF::flush(bool)', '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/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)', 'qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool)', 'QPDFObjectHandle::hasKey(std::__1::basic_string, std::__1::allocator > const&) const', '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 >&)', 'Pl_AES_PDF::flush(bool)', 'unsigned long QIntC::to_size(long const&)']

/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=['QPDFObjectHandle::newName(std::__1::basic_string, std::__1::allocator > const&)', 'QPDFObjectHandle::replaceDict(QPDFObjectHandle const&)', '(anonymous namespace)::JSONParser::getToken()', 'Pl_QPDFTokenizer::finish()', 'QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded()', 'QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded()', 'qpdf::Name::normalize(std::__1::basic_string, std::__1::allocator > const&)', 'qpdf::BaseHandle::copy(bool) const', 'QPDFObjectHandle::newFromRectangle(QPDFObjectHandle::Rectangle const&)', '(anonymous namespace)::JSONParser::handleToken()']

/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=['Pl_TIFFPredictor::Pl_TIFFPredictor(char const*, Pipeline*, Pl_TIFFPredictor::action_e, unsigned int, unsigned int, unsigned int)', 'unsigned int QIntC::to_uint(unsigned long const&)', 'BitStream::getBitsSigned(unsigned long)', 'BitWriter::writeBits(unsigned long long, unsigned long)', 'FuzzHelper::run()', 'Pl_TIFFPredictor::processRow()']

/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/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/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::write(unsigned char const*, unsigned long)']

/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)', 'qpdf::pl::Count::write(unsigned char const*, unsigned long)', 'BitWriter::writeBits(unsigned long long, unsigned long)']

/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::writeTrailer(qpdf::impl::Writer::trailer_e, int, bool, long long, int)', 'qpdf::impl::Writer::writeLinearized()', 'qpdf::BaseHandle::unparse() const', 'qpdf::impl::Writer::setEncryptionParameters(char const*, char const*)', 'qpdf::impl::Writer::doWriteSetup()', 'qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool)']

/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', 'QPDFObject::move_to(std::__1::shared_ptr&, bool)', 'qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&)', 'QPDFLogger::defaultLogger()', 'QPDF::warn(qpdf_error_code_e, std::__1::basic_string, std::__1::allocator > const&, long long, std::__1::basic_string, std::__1::allocator > 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::writeTrailer(qpdf::impl::Writer::trailer_e, int, bool, long long, int)', 'qpdf::impl::Writer::writeLinearized()', 'qpdf::BaseHandle::unparse() const', 'qpdf::impl::Writer::setEncryptionParameters(char const*, char const*)', 'qpdf::impl::Writer::doWriteSetup()', 'qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool)']

/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::impl::Writer::doWriteSetup()', 'qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool)']

/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/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=['QPDFObjectHandle::newName(std::__1::basic_string, std::__1::allocator > const&)', 'QPDFObjectHandle::replaceDict(QPDFObjectHandle const&)', 'NNTreeIterator::split(qpdf::Dictionary, std::__1::__list_iterator)', '(anonymous namespace)::JSONParser::getToken()', 'NNTreeIterator::resetLimits(qpdf::Dictionary, std::__1::__list_iterator)', 'Pl_QPDFTokenizer::finish()', 'QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded()', 'QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded()', 'qpdf::Name::normalize(std::__1::basic_string, std::__1::allocator > const&)', 'qpdf::BaseHandle::copy(bool) 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)', 'qpdf::pl::Count::write(unsigned char const*, unsigned long)', 'BitWriter::writeBits(unsigned long long, unsigned long)']

/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::impl::Writer::doWriteSetup()', 'qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool)']

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% ['qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_fuzzer']
deflate 257 73 28.40% ['future_qpdf_lin_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
output_pass_setup 45 10 22.22% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
start_pass 173 39 22.54% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
ycc_rgb_convert 36 8 22.22% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
jpeg_resync_to_restart 34 6 17.64% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
jpeg_core_output_dimensions 130 32 24.61% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
use_merged_upsample 38 6 15.78% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
jinit_d_post_controller 39 20 51.28% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
j12init_d_post_controller 40 20 50.0% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
access_virt_sarray 59 31 52.54% ['future_qpdf_lin_fuzzer', 'dct_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_dct_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_fuzzer']
qpdf::BaseHandle::unparse()const 73 16 21.91% ['qpdf_pages_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_qpdf_crypt_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_fuzzer']
qpdf::impl::Writer::interpretR3EncryptionParameters(bool,bool,bool,bool,bool,bool,qpdf_r3_print_e,qpdf_r3_modify_e) 46 16 34.78% ['future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', '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/QPDFObjectHandle.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFAcroFormDocumentHelper.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']
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QUtil.hh ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/Pl_RunLength.cc ['future_runlength_fuzzer', 'runlength_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_runlength_fuzzer', 'runlength_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/Buffer.cc ['lzw_fuzzer', 'future_lzw_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['lzw_fuzzer', 'future_lzw_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jddiffct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/JSON.cc ['future_json_fuzzer', 'qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_pages_fuzzer'] ['future_json_fuzzer', 'qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/fuzz/lzw_fuzzer.cc ['lzw_fuzzer', 'future_lzw_fuzzer'] ['lzw_fuzzer', 'future_lzw_fuzzer']
/src/qpdf/libqpdf/QPDFUsage.cc ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdcolor.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/QPDFCrypto_native.hh [] []
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/InputSource.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/fuzz/json_fuzzer.cc ['future_json_fuzzer', 'json_fuzzer'] ['future_json_fuzzer', 'json_fuzzer']
/src/qpdf/libqpdf/InputSource.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFSystemError.hh ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] []
/src/qpdf/include/qpdf/ObjectHandle.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer']
/src/qpdf/include/qpdf/QTC.hh ['future_ascii85_fuzzer', 'ascii85_fuzzer', 'lzw_fuzzer', 'future_runlength_fuzzer', 'future_pngpredictor_fuzzer', 'runlength_fuzzer', 'future_hex_fuzzer', 'pngpredictor_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'hex_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_ascii85_fuzzer', 'ascii85_fuzzer', 'lzw_fuzzer', 'future_pngpredictor_fuzzer', 'future_hex_fuzzer', 'pngpredictor_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'hex_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/QPDFFormFieldObjectHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/rijndael.cc [] []
/src/qpdf/libqpdf/QPDFObjectHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/fuzz/hex_fuzzer.cc ['future_hex_fuzzer', 'hex_fuzzer'] ['future_hex_fuzzer', 'hex_fuzzer']
/src/qpdf/include/qpdf/QPDFPageObjectHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/QUtil.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/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/Pipeline.cc ['future_ascii85_fuzzer', 'ascii85_fuzzer', 'lzw_fuzzer', 'future_runlength_fuzzer', 'future_flate_fuzzer', 'future_pngpredictor_fuzzer', 'runlength_fuzzer', 'future_hex_fuzzer', 'pngpredictor_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'hex_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_ascii85_fuzzer', 'ascii85_fuzzer', 'lzw_fuzzer', 'future_runlength_fuzzer', 'future_flate_fuzzer', 'future_pngpredictor_fuzzer', 'runlength_fuzzer', 'future_hex_fuzzer', 'pngpredictor_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'hex_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/ResourceFinder.cc [] []
/src/zlib/inftrees.c ['future_flate_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jcmarker.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/include/qpdf/RandomDataProvider.hh [] []
/src/qpdf/include/qpdf/QPDFLogger.hh [] []
/src/zlib/inffast.c ['future_flate_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/Pl_Buffer.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDFParser.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/ObjTable.hh ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/QPDFCrypto_native.cc [] []
/src/qpdf/include/qpdf/QPDFTokenizer.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/QPDF_Dictionary.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/zlib/crc32.c ['future_flate_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] []
/src/qpdf/libqpdf/qpdf/Pl_LZWDecoder.hh ['lzw_fuzzer', 'future_lzw_fuzzer'] ['lzw_fuzzer', 'future_lzw_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.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/QPDF_json.cc ['future_json_fuzzer', 'json_fuzzer'] ['future_json_fuzzer', 'json_fuzzer']
/src/qpdf/libqpdf/QPDFDocumentHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdapistd.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/fuzz/qpdf_pages_fuzzer.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/libjpeg-turbo/src/wrapper/../jidctfst.c [] []
/src/qpdf/include/qpdf/QPDFOutlineDocumentHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/QPDFObjectHandle.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', '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/../jcsample.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_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/libqpdf/qpdf/Pl_Base64.hh [] []
/src/libjpeg-turbo/src/jdlhuff.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/Pl_OStream.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_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/jdmaster.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/libjpeg-turbo/src/jcarith.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/jmemnobs.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/QPDF_linearization.cc ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/AES_PDF_native.cc [] []
/src/libjpeg-turbo/src/jdmarker.c ['future_dct_fuzzer', 'dct_fuzzer'] ['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/libjpeg-turbo/src/jcinit.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/jchuff.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/QPDFObjectHandle_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/QPDF_pages.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/usr/local/bin/../include/c++/v1/variant [] []
/src/qpdf/libqpdf/QPDFPageObjectHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/fuzz/pngpredictor_fuzzer.cc ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer'] ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer']
/src/qpdf/libqpdf/QPDFPageLabelDocumentHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdlossls.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_AES_PDF.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdcoefct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_ASCIIHexDecoder.cc ['future_hex_fuzzer', 'hex_fuzzer'] ['future_hex_fuzzer', 'hex_fuzzer']
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc ['future_tiffpredictor_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_tiffpredictor_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/ContentNormalizer.cc [] []
/src/qpdf/libqpdf/qpdf/RC4.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] []
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jdarith.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/MD5_native.cc [] []
/src/qpdf/libqpdf/Pl_Concatenate.cc [] []
/src/qpdf/libqpdf/QPDF_String.cc ['qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_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/libjpeg-turbo/src/jmemmgr.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/usr/local/bin/../include/c++/v1/__exception/exception.h ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] []
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/QPDF_Array.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/RC4.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/QPDFStreamFilter.cc [] []
/src/qpdf/libqpdf/qpdf/global_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/OffsetInputSource.cc [] []
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jquant1.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jcdctmgr.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/jcapimin.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_SHA2.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDFWriter_private.hh ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jcmainct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_QPDFTokenizer.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/qpdf/CryptoRandomDataProvider.hh [] []
/src/zlib/deflate.c ['future_flate_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jstdhuff.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jccoefct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/jcphuff.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/QPDFParser.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/fuzz/tiffpredictor_fuzzer.cc ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer']
/src/qpdf/libqpdf/RC4_native.cc [] []
/src/qpdf/libqpdf/Pl_Base64.cc [] []
/src/qpdf/libqpdf/Pl_DCT.cc ['future_dct_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_dct_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jcmaster.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/jcomapi.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/include/qpdf/QPDFStreamFilter.hh [] []
/src/qpdf/libqpdf/QPDFMatrix.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jclossls.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_StdioFile.cc [] []
/src/zlib/trees.c ['future_flate_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_flate_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/BitStream.cc ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer']
/src/qpdf/libqpdf/Pl_ASCII85Decoder.cc ['future_ascii85_fuzzer', 'ascii85_fuzzer'] ['future_ascii85_fuzzer', 'ascii85_fuzzer']
/src/qpdf/libqpdf/QPDFCryptoProvider.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFExc.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_MD5.hh ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/QPDFObject.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/usr/local/bin/../include/c++/v1/optional [] []
/src/qpdf/libqpdf/Pl_String.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/include/qpdf/QPDFObjGen.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_TIFFPredictor.hh ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer']
/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']
/usr/local/bin/../include/c++/v1/string [] []
/src/libjpeg-turbo/src/wrapper/../jdpostct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/FileInputSource.cc [] []
/src/qpdf/libqpdf/SecureRandomDataProvider.cc [] []
/src/qpdf/libqpdf/Pl_PNGFilter.cc ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/Pl_DCT.hh [] []
/src/libjpeg-turbo/src/wrapper/../jcprepct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/Pl_ASCII85Decoder.hh ['future_ascii85_fuzzer', 'ascii85_fuzzer'] []
/src/qpdf/libqpdf/qpdf/bits_functions.hh ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jclhuff.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/MD5.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/SecureRandomDataProvider.hh [] []
/src/qpdf/fuzz/dct_fuzzer.cc ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/QPDF_objects.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdsample.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/QPDFWriter.cc ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jdphuff.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/QPDFXRefEntry.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFPageDocumentHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jutils.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/fuzz/qpdf_fuzzer.cc ['future_qpdf_fuzzer', 'qpdf_fuzzer'] ['future_qpdf_fuzzer', 'qpdf_fuzzer']
/src/qpdf/fuzz/ascii85_fuzzer.cc ['future_ascii85_fuzzer', 'ascii85_fuzzer'] ['future_ascii85_fuzzer', 'ascii85_fuzzer']
/src/qpdf/libqpdf/qpdf/Pl_ASCIIHexDecoder.hh ['future_hex_fuzzer', 'hex_fuzzer'] []
/src/qpdf/libqpdf/QPDFLogger.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/InputSource_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/AES_PDF_native.hh [] []
/src/qpdf/libqpdf/QPDF_encryption.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFWriter.hh [] []
/src/qpdf/libqpdf/QPDFSystemError.cc ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/fuzz/runlength_fuzzer.cc ['future_runlength_fuzzer', 'runlength_fuzzer'] ['future_runlength_fuzzer', 'runlength_fuzzer']
/src/qpdf/libqpdf/QPDF_Stream.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/Pl_Flate.cc ['future_flate_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_flate_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jdhuff.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/libjpeg-turbo/src/jerror.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/include/qpdf/JSON.hh ['future_json_fuzzer', 'qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_pages_fuzzer'] ['future_json_fuzzer', 'qpdf_pages_fuzzer', 'json_fuzzer', 'future_qpdf_pages_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdmainct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/SF_FlateLzwDecode.cc [] []
/src/libjpeg-turbo/src/jcparam.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/Pl_RC4.cc ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jfdctflt.c [] []
/src/qpdf/libqpdf/sha2.c [] []
/src/qpdf/fuzz/flate_fuzzer.cc ['future_flate_fuzzer', 'flate_fuzzer'] ['future_flate_fuzzer', 'flate_fuzzer']
/src/qpdf/libqpdf/QPDFExc.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDF_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/qpdf/QPDFTokenizer_private.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFUsage.hh ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] []
/src/qpdf/libqpdf/qpdf/ResourceFinder.hh [] []
/usr/local/bin/../include/c++/v1/__iterator/move_iterator.h [] []
/src/qpdf/libqpdf/qpdf/Util.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_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/Pl_Discard.cc ['future_ascii85_fuzzer', 'ascii85_fuzzer', 'lzw_fuzzer', 'future_runlength_fuzzer', 'future_flate_fuzzer', 'future_pngpredictor_fuzzer', 'runlength_fuzzer', 'future_hex_fuzzer', 'pngpredictor_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'hex_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_ascii85_fuzzer', 'ascii85_fuzzer', 'lzw_fuzzer', 'future_runlength_fuzzer', 'future_flate_fuzzer', 'future_pngpredictor_fuzzer', 'runlength_fuzzer', 'future_hex_fuzzer', 'pngpredictor_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'hex_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/zlib/adler32.c ['future_flate_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_flate_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/jdapimin.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/include/qpdf/QPDFOutlineObjectHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/include/qpdf/QIntC.hh ['lzw_fuzzer', 'future_flate_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['lzw_fuzzer', 'future_flate_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/sph/sph_types.h [] []
/src/qpdf/libqpdf/PDFVersion.cc [] []
/src/libjpeg-turbo/src/wrapper/../jfdctint.c [] []
/src/libjpeg-turbo/src/wrapper/../jfdctfst.c [] []
/src/libjpeg-turbo/src/wrapper/../jcdiffct.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jcapistd.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jquant2.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jddctmgr.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/zlib/inflate.c ['future_flate_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/Pipeline.hh ['future_ascii85_fuzzer', 'ascii85_fuzzer', 'lzw_fuzzer', 'future_runlength_fuzzer', 'future_flate_fuzzer', 'future_pngpredictor_fuzzer', 'runlength_fuzzer', 'future_hex_fuzzer', 'pngpredictor_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'hex_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_ascii85_fuzzer', 'ascii85_fuzzer', 'lzw_fuzzer', 'future_runlength_fuzzer', 'future_flate_fuzzer', 'future_pngpredictor_fuzzer', 'runlength_fuzzer', 'future_hex_fuzzer', 'pngpredictor_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'hex_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/simd/x86_64/jsimd.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/qpdf/libqpdf/Pl_LZWDecoder.cc ['lzw_fuzzer', 'future_lzw_fuzzer'] ['lzw_fuzzer', 'future_lzw_fuzzer']
/src/qpdf/libqpdf/QPDFTokenizer.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/usr/local/bin/../include/c++/v1/stdexcept ['lzw_fuzzer', 'future_flate_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_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/libjpeg-turbo/src/wrapper/../jidctint.c [] []
/src/qpdf/libqpdf/qpdf/OffsetInputSource.hh [] []
/src/libjpeg-turbo/src/wrapper/../jdmainct.h [] []
/src/qpdf/libqpdf/sha2big.c [] []
/src/libjpeg-turbo/src/jdinput.c ['future_dct_fuzzer', 'dct_fuzzer'] ['future_dct_fuzzer', 'dct_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jdmerge.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/Pl_PNGFilter.hh ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_pngpredictor_fuzzer', 'pngpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jccolor.c ['future_dct_fuzzer', 'dct_fuzzer'] []
/src/qpdf/libqpdf/qpdf/FormField.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] []
/src/libjpeg-turbo/src/wrapper/../jidctred.c [] []
/src/qpdf/libqpdf/qpdf/JSON_writer.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/BufferInputSource.cc ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/SHA2_native.cc [] []
/src/zlib/zutil.c [] []
/src/qpdf/libqpdf/QPDFAnnotationObjectHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/include/qpdf/QPDFCryptoImpl.hh [] []
/src/qpdf/libqpdf/BitWriter.cc ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_tiffpredictor_fuzzer', 'tiffpredictor_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/usr/local/bin/../include/c++/v1/sstream ['lzw_fuzzer', 'future_flate_fuzzer', 'future_tiffpredictor_fuzzer', 'future_lzw_fuzzer', 'future_dct_fuzzer', 'future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'tiffpredictor_fuzzer', 'dct_fuzzer', 'future_qpdf_fuzzer', 'flate_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] []
/src/qpdf/libqpdf/QPDFAcroFormDocumentHelper.cc ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/sph/md_helper.c [] []
/src/qpdf/libqpdf/qpdf/MD5.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/include/qpdf/QPDFXRefEntry.hh ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/libjpeg-turbo/src/wrapper/../jidctflt.c [] []
/src/qpdf/include/qpdf/QPDFDocumentHelper.hh ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer'] ['qpdf_pages_fuzzer', 'future_qpdf_pages_fuzzer']
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/fuzz/qpdf_lin_fuzzer.cc ['future_qpdf_lin_fuzzer', 'qpdf_lin_fuzzer'] ['future_qpdf_lin_fuzzer', 'qpdf_lin_fuzzer']
/src/qpdf/libqpdf/Pl_Count.cc ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer'] ['future_json_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'json_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'qpdf_lin_fuzzer']

Directories in report

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

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_ascii85_fuzzer fuzzerLogFile-0-uSaUTzVni6.data fuzzerLogFile-0-uSaUTzVni6.data.yaml future_ascii85_fuzzer.covreport
ascii85_fuzzer fuzzerLogFile-0-sevTAzlLOR.data fuzzerLogFile-0-sevTAzlLOR.data.yaml ascii85_fuzzer.covreport
lzw_fuzzer fuzzerLogFile-0-frTddOwuCD.data fuzzerLogFile-0-frTddOwuCD.data.yaml lzw_fuzzer.covreport
future_runlength_fuzzer fuzzerLogFile-0-dtMo5Dj247.data fuzzerLogFile-0-dtMo5Dj247.data.yaml future_runlength_fuzzer.covreport
future_flate_fuzzer fuzzerLogFile-0-sSj6ItsxMX.data fuzzerLogFile-0-sSj6ItsxMX.data.yaml future_flate_fuzzer.covreport
future_pngpredictor_fuzzer fuzzerLogFile-0-kn2aqogp8V.data fuzzerLogFile-0-kn2aqogp8V.data.yaml future_pngpredictor_fuzzer.covreport
runlength_fuzzer fuzzerLogFile-0-Q0sbhI7ESL.data fuzzerLogFile-0-Q0sbhI7ESL.data.yaml runlength_fuzzer.covreport
future_hex_fuzzer fuzzerLogFile-0-LXCklaNdIU.data fuzzerLogFile-0-LXCklaNdIU.data.yaml future_hex_fuzzer.covreport
pngpredictor_fuzzer fuzzerLogFile-0-7zWhpcR129.data fuzzerLogFile-0-7zWhpcR129.data.yaml pngpredictor_fuzzer.covreport
future_tiffpredictor_fuzzer fuzzerLogFile-0-2xLXc91Bnt.data fuzzerLogFile-0-2xLXc91Bnt.data.yaml future_tiffpredictor_fuzzer.covreport
future_lzw_fuzzer fuzzerLogFile-0-Ati3RyiBFm.data fuzzerLogFile-0-Ati3RyiBFm.data.yaml future_lzw_fuzzer.covreport
future_dct_fuzzer fuzzerLogFile-0-2N2rD6z6E0.data fuzzerLogFile-0-2N2rD6z6E0.data.yaml future_dct_fuzzer.covreport
future_json_fuzzer fuzzerLogFile-0-u9KM8j9VWN.data fuzzerLogFile-0-u9KM8j9VWN.data.yaml future_json_fuzzer.covreport
qpdf_outlines_fuzzer fuzzerLogFile-0-zJ37OVgrmz.data fuzzerLogFile-0-zJ37OVgrmz.data.yaml qpdf_outlines_fuzzer.covreport
future_qpdf_outlines_fuzzer fuzzerLogFile-0-MptVUd16oA.data fuzzerLogFile-0-MptVUd16oA.data.yaml future_qpdf_outlines_fuzzer.covreport
qpdf_pages_fuzzer fuzzerLogFile-0-cXOQSXaPMM.data fuzzerLogFile-0-cXOQSXaPMM.data.yaml qpdf_pages_fuzzer.covreport
tiffpredictor_fuzzer fuzzerLogFile-0-JEZ98t3MFD.data fuzzerLogFile-0-JEZ98t3MFD.data.yaml tiffpredictor_fuzzer.covreport
dct_fuzzer fuzzerLogFile-0-5TEXuVnTOD.data fuzzerLogFile-0-5TEXuVnTOD.data.yaml dct_fuzzer.covreport
future_qpdf_fuzzer fuzzerLogFile-0-TWBO7ol2Ju.data fuzzerLogFile-0-TWBO7ol2Ju.data.yaml future_qpdf_fuzzer.covreport
hex_fuzzer fuzzerLogFile-0-YIcPpp1r6u.data fuzzerLogFile-0-YIcPpp1r6u.data.yaml hex_fuzzer.covreport
flate_fuzzer fuzzerLogFile-0-sNGfLgeVt3.data fuzzerLogFile-0-sNGfLgeVt3.data.yaml flate_fuzzer.covreport
future_qpdf_crypt_insecure_fuzzer fuzzerLogFile-0-UWF2V6XKkU.data fuzzerLogFile-0-UWF2V6XKkU.data.yaml future_qpdf_crypt_insecure_fuzzer.covreport
future_qpdf_crypt_fuzzer fuzzerLogFile-0-3CRBvAHU5R.data fuzzerLogFile-0-3CRBvAHU5R.data.yaml future_qpdf_crypt_fuzzer.covreport
json_fuzzer fuzzerLogFile-0-4DcPSLsuRG.data fuzzerLogFile-0-4DcPSLsuRG.data.yaml json_fuzzer.covreport
qpdf_crypt_fuzzer fuzzerLogFile-0-mGCdNc5aws.data fuzzerLogFile-0-mGCdNc5aws.data.yaml qpdf_crypt_fuzzer.covreport
future_qpdf_lin_fuzzer fuzzerLogFile-0-LgpnwbD2pP.data fuzzerLogFile-0-LgpnwbD2pP.data.yaml future_qpdf_lin_fuzzer.covreport
qpdf_fuzzer fuzzerLogFile-0-vY3NoemdLm.data fuzzerLogFile-0-vY3NoemdLm.data.yaml qpdf_fuzzer.covreport
future_qpdf_pages_fuzzer fuzzerLogFile-0-kLOBaBSYxt.data fuzzerLogFile-0-kLOBaBSYxt.data.yaml future_qpdf_pages_fuzzer.covreport
qpdf_crypt_insecure_fuzzer fuzzerLogFile-0-GWpsaVjvue.data fuzzerLogFile-0-GWpsaVjvue.data.yaml qpdf_crypt_insecure_fuzzer.covreport
qpdf_lin_fuzzer fuzzerLogFile-0-jfjkMXpdQJ.data fuzzerLogFile-0-jfjkMXpdQJ.data.yaml qpdf_lin_fuzzer.covreport