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

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 8 Pl_ASCII85Decoder::Pl_ASCII85Decoder(char const*, Pipeline*) call site: 00008 __cxa_allocate_exception
1 41 FuzzHelper::doChecks() call site: 00041
1 47 FuzzHelper::run() call site: 00047 __cxa_begin_catch

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_lzw_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: tiffpredictor_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_tiffpredictor_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: lzw_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_runlength_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_flate_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
26 158 deflate call site: 00158 inflate
15 87 deflate call site: 00087 crc32
13 45 deflateResetKeep call site: 00045 crc32_z
11 144 deflate call site: 00144 _tr_flush_block
8 9 unsigned long QIntC::to_size (unsigned int const&) call site: 00009 __cxa_allocate_exception
8 64 deflateReset call site: 00064 inflateInit_
7 209 Pl_Flate::finish() call site: 00209 __cxa_begin_catch
6 186 unsigned long QIntC::to_ulong (unsigned long const&) call site: 00186 __cxa_allocate_exception
6 196 FuzzHelper::doChecks() call site: 00196 __cxa_allocate_exception
5 18 Pl_Flate::Pl_Flate(char const*, Pipeline*, Pl_Flate::action_e, unsigned int) call site: 00018 __cxa_allocate_exception
5 29 Pl_Flate::handleData(unsigned char const*, unsigned long, int) call site: 00029 __cxa_allocate_exception
5 138 _tr_flush_block call site: 00138 _tr_flush_block

Runtime coverage analysis

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

Files reached

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

Fuzzer: flate_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
26 158 deflate call site: 00158 inflate
15 87 deflate call site: 00087 crc32
13 45 deflateResetKeep call site: 00045 crc32_z
11 144 deflate call site: 00144 _tr_flush_block
8 9 unsigned long QIntC::to_size (unsigned int const&) call site: 00009 __cxa_allocate_exception
8 64 deflateReset call site: 00064 inflateInit_
7 209 Pl_Flate::finish() call site: 00209 __cxa_begin_catch
6 186 unsigned long QIntC::to_ulong (unsigned long const&) call site: 00186 __cxa_allocate_exception
6 196 FuzzHelper::doChecks() call site: 00196 __cxa_allocate_exception
5 18 Pl_Flate::Pl_Flate(char const*, Pipeline*, Pl_Flate::action_e, unsigned int) call site: 00018 __cxa_allocate_exception
5 29 Pl_Flate::handleData(unsigned char const*, unsigned long, int) call site: 00029 __cxa_allocate_exception
5 138 _tr_flush_block call site: 00138 _tr_flush_block

Runtime coverage analysis

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

Files reached

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

Fuzzer: pngpredictor_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 8 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) call site: 00008 __cxa_allocate_exception
5 14 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) call site: 00014 __cxa_allocate_exception
4 27 Pl_PNGFilter::write(unsigned char const*, unsigned long) call site: 00027
3 53 FuzzHelper::run() call site: 00053 __cxa_end_catch

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_hex_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 8 Pl_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const*, Pipeline*) call site: 00008 __cxa_allocate_exception
1 30 FuzzHelper::doChecks() call site: 00030
1 36 FuzzHelper::run() call site: 00036 __cxa_begin_catch

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_ascii85_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 8 Pl_ASCII85Decoder::Pl_ASCII85Decoder(char const*, Pipeline*) call site: 00008 __cxa_allocate_exception
1 41 FuzzHelper::doChecks() call site: 00041
1 47 FuzzHelper::run() call site: 00047 __cxa_begin_catch

Runtime coverage analysis

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

Files reached

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

Fuzzer: runlength_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_pngpredictor_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 8 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) call site: 00008 __cxa_allocate_exception
5 14 Pl_PNGFilter::Pl_PNGFilter(char const*, Pipeline*, Pl_PNGFilter::action_e, unsigned int, unsigned int, unsigned int) call site: 00014 __cxa_allocate_exception
4 27 Pl_PNGFilter::write(unsigned char const*, unsigned long) call site: 00027
3 53 FuzzHelper::run() call site: 00053 __cxa_end_catch

Runtime coverage analysis

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

Files reached

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

Fuzzer: hex_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 8 Pl_ASCIIHexDecoder::Pl_ASCIIHexDecoder(char const*, Pipeline*) call site: 00008 __cxa_allocate_exception
1 30 FuzzHelper::doChecks() call site: 00030
1 36 FuzzHelper::run() call site: 00036 __cxa_begin_catch

Runtime coverage analysis

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

Files reached

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

Fuzzer: dct_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
56 99 init_simd call site: 00099 jinit_forward_dct
32 50 std_huff_tables call site: 00050 jpeg_start_compress
30 156 unsigned int QIntC::to_uint (int const&) call site: 00156 jpeg_finish_compress
19 233 master_selection call site: 00233 jinit_1pass_quantizer
11 34 jinit_memory_mgr call site: 00034 jpeg_set_defaults
9 209 jpeg_core_output_dimensions call site: 00209 jdiv_round_up
7 201 jpeg_calc_output_dimensions call site: 00201 jdiv_round_up
5 12 Pl_DCT::Pl_DCT(char const*, Pipeline*) call site: 00012 __cxa_allocate_exception
3 25 Pl_DCT::finish() call site: 00025 jpeg_CreateCompress
3 257 jinit_color_deconverter call site: 00257 jsimd_can_ycc_rgb565
2 310 Pl_DCT::finish() call site: 00310 jpeg_destroy_compress
1 20 FuzzHelper::doChecks() call site: 00020

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_dct_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
56 99 init_simd call site: 00099 jinit_forward_dct
32 50 std_huff_tables call site: 00050 jpeg_start_compress
30 156 unsigned int QIntC::to_uint (int const&) call site: 00156 jpeg_finish_compress
19 233 master_selection call site: 00233 jinit_1pass_quantizer
11 34 jinit_memory_mgr call site: 00034 jpeg_set_defaults
9 209 jpeg_core_output_dimensions call site: 00209 jdiv_round_up
7 201 jpeg_calc_output_dimensions call site: 00201 jdiv_round_up
5 12 Pl_DCT::Pl_DCT(char const*, Pipeline*) call site: 00012 __cxa_allocate_exception
3 25 Pl_DCT::finish() call site: 00025 jpeg_CreateCompress
3 257 jinit_color_deconverter call site: 00257 jsimd_can_ycc_rgb565
2 310 Pl_DCT::finish() call site: 00310 jpeg_destroy_compress
1 20 FuzzHelper::doChecks() call site: 00020

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_json_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 2362 75.7%
gold [1:9] 25 0.80%
yellow [10:29] 44 1.41%
greenyellow [30:49] 24 0.76%
lawngreen 50+ 662 21.2%
All colors 3117 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
220 2661 std::__1::shared_ptr QPDFObject::create (bool&) call site: 02661 _ZN4qpdf7IntegerC2ITkNSt3__18integralEmEET_
201 2053 QUtil::hex_decode(std::__1::basic_string , std::__1::allocator > const&) call site: 02053 __cxa_allocate_exception
180 1649 std::__1::shared_ptr QPDFObject::create , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator >&&) call site: 01649 __cxa_allocate_exception
157 1895 QPDF::EncryptionParameters::initialize(QPDF&) call site: 01895 __cxa_allocate_exception
97 2419 QPDFObjectHandle::getObjectID() const call site: 02419 __cxa_allocate_exception
86 1370 QPDFObjectHandle::getIntValueAsInt() const call site: 01370 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralExEEv
85 1465 QPDFObjectHandle::getName() const call site: 01465 __cxa_allocate_exception
77 804 QPDFObject::move_to(std::__1::shared_ptr &, bool) call site: 00804 __cxa_allocate_exception
70 1252 qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&) call site: 01252 __cxa_allocate_exception
64 1085 QPDFLogger::defaultLogger() call site: 01085 __cxa_end_catch
59 2263 QPDF::Doc::Objects::readTrailer() call site: 02263 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralEjEEv
44 703 qpdf::impl::Parser::parse_remainder(bool) call site: 00703 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: qpdf_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 936 16.6%
gold [1:9] 118 2.10%
yellow [10:29] 140 2.49%
greenyellow [30:49] 65 1.15%
lawngreen 50+ 4356 77.5%
All colors 5615 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
54 5234 (anonymous namespace)::JSONParser::getToken() call site: 05234 __cxa_allocate_exception
19 2397 qpdf::BaseHandle::copy(bool) const call site: 02397 __cxa_allocate_exception
19 4249 qpdf::Name::normalize(std::__1::basic_string , std::__1::allocator > const&) call site: 04249 __cxa_allocate_exception
19 5362 (anonymous namespace)::JSONParser::handleToken() call site: 05362 __cxa_allocate_exception
19 5447 (anonymous namespace)::JSONParser::handleToken() call site: 05447 __cxa_allocate_exception
14 4097 qpdf::Stream::copy_data_to(qpdf::Stream&) call site: 04097 __cxa_allocate_exception
13 5084 qpdf::BaseHandle::write_json(int, JSON::Writer&) const call site: 05084
11 175 qpdf::Tokenizer::inBeforeToken(char) call site: 00175 __cxa_allocate_exception
11 4880 void QIntC::range_check_error (long long const&, long long const&) call site: 04880 __cxa_allocate_exception
11 5315 (anonymous namespace)::JSONParser::getToken() call site: 05315 __cxa_allocate_exception
11 5328 (anonymous namespace)::JSONParser::getToken() call site: 05328 __cxa_allocate_exception
10 911 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00911 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_qpdf_pages_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 941 16.7%
gold [1:9] 156 2.77%
yellow [10:29] 113 2.01%
greenyellow [30:49] 66 1.17%
lawngreen 50+ 4337 77.2%
All colors 5613 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
54 5232 (anonymous namespace)::JSONParser::getToken() call site: 05232 __cxa_allocate_exception
19 2395 qpdf::BaseHandle::copy(bool) const call site: 02395 __cxa_allocate_exception
19 4247 qpdf::Name::normalize(std::__1::basic_string , std::__1::allocator > const&) call site: 04247 __cxa_allocate_exception
19 5360 (anonymous namespace)::JSONParser::handleToken() call site: 05360 __cxa_allocate_exception
19 5445 (anonymous namespace)::JSONParser::handleToken() call site: 05445 __cxa_allocate_exception
16 3242 NNTreeIterator::resetLimits(qpdf::Dictionary, std::__1::__list_iterator ) call site: 03242
14 4095 qpdf::Stream::copy_data_to(qpdf::Stream&) call site: 04095 __cxa_allocate_exception
13 5082 qpdf::BaseHandle::write_json(int, JSON::Writer&) const call site: 05082
11 166 qpdf::Tokenizer::inBeforeToken(char) call site: 00166 __cxa_allocate_exception
11 5313 (anonymous namespace)::JSONParser::getToken() call site: 05313 __cxa_allocate_exception
11 5326 (anonymous namespace)::JSONParser::getToken() call site: 05326 __cxa_allocate_exception
10 909 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00909 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: 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 992 20.9%
gold [1:9] 106 2.23%
yellow [10:29] 101 2.13%
greenyellow [30:49] 75 1.58%
lawngreen 50+ 3461 73.0%
All colors 4735 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
88 4626 qpdf::impl::Writer::write() call site: 04626 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
39 4403 qpdf::impl::Writer::writeLinearized() call site: 04403 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
28 2967 ObjTable ::large_element(unsigned long) call site: 02967 __cxa_allocate_exception
25 1382 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01382
22 2394 qpdf::BaseHandle::copy(bool) const call site: 02394 __cxa_allocate_exception
22 4180 qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool) call site: 04180
18 3429 qpdf::impl::Writer::writeLinearized() call site: 03429 fopen
17 4110 qpdf::BaseHandle::unparse() const call site: 04110 __cxa_allocate_exception
16 2739 QPDF::Doc::Objects::parse(char const*) call site: 02739 __cxa_begin_catch
16 2905 qpdf::impl::Writer::doWriteSetup() call site: 02905
15 1246 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01246 __cxa_allocate_exception
15 3681 deflate call site: 03681 crc32

Runtime coverage analysis

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

Files reached

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

Fuzzer: qpdf_crypt_insecure_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1640 34.2%
gold [1:9] 88 1.83%
yellow [10:29] 91 1.90%
greenyellow [30:49] 66 1.37%
lawngreen 50+ 2899 60.5%
All colors 4784 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
236 3199 qpdf::impl::Writer::write() call site: 03199 __assert_fail
79 4491 qpdf::impl::Writer::writeEncryptionDictionary() call site: 04491 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
76 3016 ObjTable ::large_element(unsigned long) call site: 03016 __cxa_allocate_exception
57 4396 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04396 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEmEERS1_T_
50 4682 qpdf::impl::Writer::writeStandard() call site: 04682
47 2906 qpdf::impl::Writer::doWriteSetup() call site: 02906
39 4607 BitWriter::flush() call site: 04607
34 4334 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04334 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
30 4576 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04576 __cxa_allocate_exception
29 3476 (anonymous namespace)::Pl_stack::popper() call site: 03476 fopen
27 4647 qpdf::pl::Count::~Count() call site: 04647 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
26 2806 qpdf::impl::Writer::generateID(bool) call site: 02806 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: 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 933 19.5%
gold [1:9] 98 2.04%
yellow [10:29] 116 2.42%
greenyellow [30:49] 41 0.85%
lawngreen 50+ 3596 75.1%
All colors 4784 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
88 4675 qpdf::impl::Writer::write() call site: 04675 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
47 2906 qpdf::impl::Writer::doWriteSetup() call site: 02906
26 2806 qpdf::impl::Writer::generateID(bool) call site: 02806 __cxa_allocate_exception
22 2392 qpdf::BaseHandle::copy(bool) const call site: 02392 __cxa_allocate_exception
18 3478 qpdf::impl::Writer::writeLinearized() call site: 03478 fopen
17 4159 qpdf::BaseHandle::unparse() const call site: 04159 __cxa_allocate_exception
16 2737 QPDF::Doc::Objects::parse(char const*) call site: 02737 __cxa_begin_catch
16 2843 qpdf::impl::Writer::setEncryptionParameters(char const*, char const*) call site: 02843 __cxa_allocate_exception
16 2954 qpdf::impl::Writer::doWriteSetup() call site: 02954
15 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception
15 3730 deflate call site: 03730 crc32
15 4271 qpdf::impl::Writer::writeTrailer(qpdf::impl::Writer::trailer_e, int, bool, long long, int) call site: 04271 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: 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 2362 75.7%
gold [1:9] 26 0.83%
yellow [10:29] 34 1.09%
greenyellow [30:49] 27 0.86%
lawngreen 50+ 668 21.4%
All colors 3117 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
220 2661 std::__1::shared_ptr QPDFObject::create (bool&) call site: 02661 _ZN4qpdf7IntegerC2ITkNSt3__18integralEmEET_
201 2053 QUtil::hex_decode(std::__1::basic_string , std::__1::allocator > const&) call site: 02053 __cxa_allocate_exception
180 1649 std::__1::shared_ptr QPDFObject::create , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator >&&) call site: 01649 __cxa_allocate_exception
157 1895 QPDF::EncryptionParameters::initialize(QPDF&) call site: 01895 __cxa_allocate_exception
97 2419 QPDFObjectHandle::getObjectID() const call site: 02419 __cxa_allocate_exception
86 1370 QPDFObjectHandle::getIntValueAsInt() const call site: 01370 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralExEEv
85 1465 QPDFObjectHandle::getName() const call site: 01465 __cxa_allocate_exception
77 804 QPDFObject::move_to(std::__1::shared_ptr &, bool) call site: 00804 __cxa_allocate_exception
70 1252 qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&) call site: 01252 __cxa_allocate_exception
64 1085 QPDFLogger::defaultLogger() call site: 01085 __cxa_end_catch
59 2263 QPDF::Doc::Objects::readTrailer() call site: 02263 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralEjEEv
44 703 qpdf::impl::Parser::parse_remainder(bool) call site: 00703 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: 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 938 19.5%
gold [1:9] 120 2.50%
yellow [10:29] 94 1.96%
greenyellow [30:49] 67 1.39%
lawngreen 50+ 3567 74.5%
All colors 4786 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
88 4677 qpdf::impl::Writer::write() call site: 04677 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
47 2908 qpdf::impl::Writer::doWriteSetup() call site: 02908
26 2808 qpdf::impl::Writer::generateID(bool) call site: 02808 __cxa_allocate_exception
22 2394 qpdf::BaseHandle::copy(bool) const call site: 02394 __cxa_allocate_exception
18 3480 qpdf::impl::Writer::writeLinearized() call site: 03480 fopen
17 4161 qpdf::BaseHandle::unparse() const call site: 04161 __cxa_allocate_exception
16 2739 QPDF::Doc::Objects::parse(char const*) call site: 02739 __cxa_begin_catch
16 2845 qpdf::impl::Writer::setEncryptionParameters(char const*, char const*) call site: 02845 __cxa_allocate_exception
16 2956 qpdf::impl::Writer::doWriteSetup() call site: 02956
15 1246 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01246 __cxa_allocate_exception
15 3732 deflate call site: 03732 crc32
15 4273 qpdf::impl::Writer::writeTrailer(qpdf::impl::Writer::trailer_e, int, bool, long long, int) call site: 04273 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_qpdf_crypt_insecure_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1643 34.3%
gold [1:9] 108 2.25%
yellow [10:29] 80 1.67%
greenyellow [30:49] 67 1.40%
lawngreen 50+ 2884 60.3%
All colors 4782 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
236 3197 qpdf::impl::Writer::write() call site: 03197 __assert_fail
79 4489 qpdf::impl::Writer::writeEncryptionDictionary() call site: 04489 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
76 3014 ObjTable ::large_element(unsigned long) call site: 03014 __cxa_allocate_exception
57 4394 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04394 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEmEERS1_T_
50 4680 qpdf::impl::Writer::writeStandard() call site: 04680
47 2904 qpdf::impl::Writer::doWriteSetup() call site: 02904
39 4605 BitWriter::flush() call site: 04605
34 4332 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04332 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
30 4574 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04574 __cxa_allocate_exception
29 3474 (anonymous namespace)::Pl_stack::popper() call site: 03474 fopen
27 4645 qpdf::pl::Count::~Count() call site: 04645 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
26 2804 qpdf::impl::Writer::generateID(bool) call site: 02804 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: 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 1418 29.9%
gold [1:9] 117 2.47%
yellow [10:29] 74 1.56%
greenyellow [30:49] 61 1.28%
lawngreen 50+ 3060 64.6%
All colors 4730 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
225 3145 qpdf::impl::Writer::write() call site: 03145 __assert_fail
120 4396 qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle) call site: 04396 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
81 3666 Pl_Flate::checkError(char const*, int) call site: 03666 deflate
50 4628 qpdf::impl::Writer::writeStandard() call site: 04628
42 2844 qpdf::impl::Writer::generateID(bool) call site: 02844
39 4553 BitWriter::flush() call site: 04553
30 4522 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04522 __cxa_allocate_exception
27 4593 qpdf::pl::Count::~Count() call site: 04593 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
23 3422 (anonymous namespace)::Pl_stack::popper() call site: 03422 fopen
23 3471 qpdf::impl::Writer::openObject(int) call site: 03471 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
23 3625 unsigned int QIntC::to_uint (unsigned long const&) call site: 03625 deflateInit_
22 2392 qpdf::BaseHandle::copy(bool) const call site: 02392 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_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 969 20.4%
gold [1:9] 130 2.74%
yellow [10:29] 87 1.83%
greenyellow [30:49] 77 1.62%
lawngreen 50+ 3470 73.3%
All colors 4733 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
88 4624 qpdf::impl::Writer::write() call site: 04624 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
39 4401 qpdf::impl::Writer::writeLinearized() call site: 04401 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
28 2965 ObjTable ::large_element(unsigned long) call site: 02965 __cxa_allocate_exception
22 2392 qpdf::BaseHandle::copy(bool) const call site: 02392 __cxa_allocate_exception
22 4178 qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool) call site: 04178
18 3427 qpdf::impl::Writer::writeLinearized() call site: 03427 fopen
17 4108 qpdf::BaseHandle::unparse() const call site: 04108 __cxa_allocate_exception
16 2737 QPDF::Doc::Objects::parse(char const*) call site: 02737 __cxa_begin_catch
16 2903 qpdf::impl::Writer::doWriteSetup() call site: 02903
15 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception
15 3679 deflate call site: 03679 crc32
13 2996 qpdf::BaseDictionary::crbegin() call site: 02996

Runtime coverage analysis

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

Files reached

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

Fuzzer: qpdf_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1424 30.0%
gold [1:9] 105 2.21%
yellow [10:29] 76 1.60%
greenyellow [30:49] 57 1.20%
lawngreen 50+ 3070 64.8%
All colors 4732 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
225 3147 qpdf::impl::Writer::write() call site: 03147 __assert_fail
120 4398 qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle) call site: 04398 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
81 3668 Pl_Flate::checkError(char const*, int) call site: 03668 deflate
50 4630 qpdf::impl::Writer::writeStandard() call site: 04630
42 2846 qpdf::impl::Writer::generateID(bool) call site: 02846
39 4555 BitWriter::flush() call site: 04555
30 4524 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04524 __cxa_allocate_exception
27 4595 qpdf::pl::Count::~Count() call site: 04595 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
23 3424 (anonymous namespace)::Pl_stack::popper() call site: 03424 fopen
23 3473 qpdf::impl::Writer::openObject(int) call site: 03473 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
23 3627 unsigned int QIntC::to_uint (unsigned long const&) call site: 03627 deflateInit_
22 2394 qpdf::BaseHandle::copy(bool) const call site: 02394 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

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 597 16.7%
gold [1:9] 107 3.01%
yellow [10:29] 70 1.96%
greenyellow [30:49] 27 0.75%
lawngreen 50+ 2753 77.4%
All colors 3554 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
57 2365 std::__1::shared_ptr QPDFObject::create , std::__1::allocator >&>(std::__1::basic_string , std::__1::allocator >&) call site: 02365 __cxa_allocate_exception
23 2340 QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool) call site: 02340 __cxa_allocate_exception
15 1246 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01246 __cxa_allocate_exception
12 1226 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01226
11 175 qpdf::Tokenizer::inBeforeToken(char) call site: 00175 __cxa_allocate_exception
10 911 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00911 __cxa_allocate_exception
9 2739 QPDF::Doc::Objects::parse(char const*) call site: 02739 __cxa_begin_catch
8 22 long long QIntC::to_offset (unsigned long const&) call site: 00022 __cxa_allocate_exception
8 1397 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01397
7 347 QPDF::warn(QPDFExc const&) call site: 00347 __cxa_allocate_exception
7 1153 QPDFObjectHandle::getName() const call site: 01153 __cxa_allocate_exception
7 1372 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01372

Runtime coverage analysis

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

Files reached

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

Fuzzer: 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 612 17.2%
gold [1:9] 122 3.43%
yellow [10:29] 68 1.91%
greenyellow [30:49] 32 0.90%
lawngreen 50+ 2718 76.5%
All colors 3552 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
57 2363 std::__1::shared_ptr QPDFObject::create , std::__1::allocator >&>(std::__1::basic_string , std::__1::allocator >&) call site: 02363 __cxa_allocate_exception
25 1380 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01380
23 2338 QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool) call site: 02338 __cxa_allocate_exception
15 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception
12 1224 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01224
11 166 qpdf::Tokenizer::inBeforeToken(char) call site: 00166 __cxa_allocate_exception
10 909 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00909 __cxa_allocate_exception
10 1367 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01367
9 2737 QPDF::Doc::Objects::parse(char const*) call site: 02737 __cxa_begin_catch
8 41 unsigned long QIntC::to_size (long const&) call site: 00041 __cxa_allocate_exception
7 338 QPDF::warn(QPDFExc const&) call site: 00338 __cxa_allocate_exception
7 1151 QPDFObjectHandle::getName() const call site: 01151 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

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

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

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

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

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

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

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/lzw_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/tiffpredictor_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/tiffpredictor_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/lzw_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/runlength_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/flate_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/flate_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/pngpredictor_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/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/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/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/pngpredictor_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/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/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/dct_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/json_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_pages_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_pages_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_lin_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_crypt_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/json_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_crypt_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_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()', '(anonymous namespace)::Pl_stack::popper()', 'qpdf::impl::Writer::openObject(int)']

/src/qpdf/fuzz/qpdf_lin_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

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% ['flate_fuzzer', 'future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'future_qpdf_outlines_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_flate_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_outlines_fuzzer', 'future_qpdf_pages_fuzzer']
deflate 257 73 28.40% ['flate_fuzzer', 'future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_flate_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer']
output_pass_setup 45 10 22.22% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
start_pass 173 39 22.54% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
ycc_rgb_convert 36 8 22.22% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
jpeg_resync_to_restart 34 6 17.64% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
jpeg_core_output_dimensions 130 32 24.61% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
use_merged_upsample 38 6 15.78% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
jinit_d_post_controller 39 20 51.28% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
j12init_d_post_controller 40 20 50.0% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
access_virt_sarray 59 31 52.54% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'dct_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_fuzzer', 'qpdf_lin_fuzzer', 'future_dct_fuzzer']
qpdf::BaseHandle::unparse()const 73 16 21.91% ['future_qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer', 'qpdf_pages_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_fuzzer', 'qpdf_crypt_insecure_fuzzer', 'future_qpdf_lin_fuzzer', 'qpdf_lin_fuzzer', 'qpdf_fuzzer', 'future_qpdf_pages_fuzzer']
qpdf::impl::Writer::interpretR3EncryptionParameters(bool,bool,bool,bool,bool,bool,qpdf_r3_print_e,qpdf_r3_modify_e) 46 16 34.78% ['qpdf_crypt_insecure_fuzzer', 'future_qpdf_crypt_fuzzer', 'qpdf_crypt_fuzzer', 'future_qpdf_crypt_insecure_fuzzer']

Files and Directories in report

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

Files in report

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

Directories in report

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

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
ascii85_fuzzer fuzzerLogFile-0-KEuf12gaGO.data fuzzerLogFile-0-KEuf12gaGO.data.yaml ascii85_fuzzer.covreport
future_lzw_fuzzer fuzzerLogFile-0-iwAyDexmyK.data fuzzerLogFile-0-iwAyDexmyK.data.yaml future_lzw_fuzzer.covreport
tiffpredictor_fuzzer fuzzerLogFile-0-M6O5vRVeC5.data fuzzerLogFile-0-M6O5vRVeC5.data.yaml tiffpredictor_fuzzer.covreport
future_tiffpredictor_fuzzer fuzzerLogFile-0-x5sqdGtu0x.data fuzzerLogFile-0-x5sqdGtu0x.data.yaml future_tiffpredictor_fuzzer.covreport
lzw_fuzzer fuzzerLogFile-0-uPyiBYOIDM.data fuzzerLogFile-0-uPyiBYOIDM.data.yaml lzw_fuzzer.covreport
future_runlength_fuzzer fuzzerLogFile-0-FGXuyggR0d.data fuzzerLogFile-0-FGXuyggR0d.data.yaml future_runlength_fuzzer.covreport
future_flate_fuzzer fuzzerLogFile-0-iTyquWg97b.data fuzzerLogFile-0-iTyquWg97b.data.yaml future_flate_fuzzer.covreport
flate_fuzzer fuzzerLogFile-0-I4SjA54OHq.data fuzzerLogFile-0-I4SjA54OHq.data.yaml flate_fuzzer.covreport
pngpredictor_fuzzer fuzzerLogFile-0-13qlyw1jq2.data fuzzerLogFile-0-13qlyw1jq2.data.yaml pngpredictor_fuzzer.covreport
future_hex_fuzzer fuzzerLogFile-0-cdeys9YM2m.data fuzzerLogFile-0-cdeys9YM2m.data.yaml future_hex_fuzzer.covreport
future_ascii85_fuzzer fuzzerLogFile-0-iMdPaf3HpY.data fuzzerLogFile-0-iMdPaf3HpY.data.yaml future_ascii85_fuzzer.covreport
runlength_fuzzer fuzzerLogFile-0-vo981HGIPZ.data fuzzerLogFile-0-vo981HGIPZ.data.yaml runlength_fuzzer.covreport
future_pngpredictor_fuzzer fuzzerLogFile-0-TvvYrDXbJi.data fuzzerLogFile-0-TvvYrDXbJi.data.yaml future_pngpredictor_fuzzer.covreport
hex_fuzzer fuzzerLogFile-0-oMgYeJZgXH.data fuzzerLogFile-0-oMgYeJZgXH.data.yaml hex_fuzzer.covreport
dct_fuzzer fuzzerLogFile-0-v8nmdy4KIG.data fuzzerLogFile-0-v8nmdy4KIG.data.yaml dct_fuzzer.covreport
future_dct_fuzzer fuzzerLogFile-0-13eyvyYxkH.data fuzzerLogFile-0-13eyvyYxkH.data.yaml future_dct_fuzzer.covreport
future_json_fuzzer fuzzerLogFile-0-KY2TRystuE.data fuzzerLogFile-0-KY2TRystuE.data.yaml future_json_fuzzer.covreport
qpdf_pages_fuzzer fuzzerLogFile-0-9i1DjuzOyo.data fuzzerLogFile-0-9i1DjuzOyo.data.yaml qpdf_pages_fuzzer.covreport
future_qpdf_pages_fuzzer fuzzerLogFile-0-8km1dUVGbx.data fuzzerLogFile-0-8km1dUVGbx.data.yaml future_qpdf_pages_fuzzer.covreport
qpdf_lin_fuzzer fuzzerLogFile-0-yUj9fA0gu0.data fuzzerLogFile-0-yUj9fA0gu0.data.yaml qpdf_lin_fuzzer.covreport
qpdf_crypt_insecure_fuzzer fuzzerLogFile-0-nfYpm6RF8k.data fuzzerLogFile-0-nfYpm6RF8k.data.yaml qpdf_crypt_insecure_fuzzer.covreport
future_qpdf_crypt_fuzzer fuzzerLogFile-0-2iegHoEsy9.data fuzzerLogFile-0-2iegHoEsy9.data.yaml future_qpdf_crypt_fuzzer.covreport
json_fuzzer fuzzerLogFile-0-4tNrVfd5Nm.data fuzzerLogFile-0-4tNrVfd5Nm.data.yaml json_fuzzer.covreport
qpdf_crypt_fuzzer fuzzerLogFile-0-tmzvYG92g8.data fuzzerLogFile-0-tmzvYG92g8.data.yaml qpdf_crypt_fuzzer.covreport
future_qpdf_crypt_insecure_fuzzer fuzzerLogFile-0-XdNk8HbtMR.data fuzzerLogFile-0-XdNk8HbtMR.data.yaml future_qpdf_crypt_insecure_fuzzer.covreport
future_qpdf_fuzzer fuzzerLogFile-0-7laNjqYGeL.data fuzzerLogFile-0-7laNjqYGeL.data.yaml future_qpdf_fuzzer.covreport
future_qpdf_lin_fuzzer fuzzerLogFile-0-sv7ZbDkWfV.data fuzzerLogFile-0-sv7ZbDkWfV.data.yaml future_qpdf_lin_fuzzer.covreport
qpdf_fuzzer fuzzerLogFile-0-FEWRvP5Q2U.data fuzzerLogFile-0-FEWRvP5Q2U.data.yaml qpdf_fuzzer.covreport
qpdf_outlines_fuzzer fuzzerLogFile-0-QpHFiuKXkg.data fuzzerLogFile-0-QpHFiuKXkg.data.yaml qpdf_outlines_fuzzer.covreport
future_qpdf_outlines_fuzzer fuzzerLogFile-0-18v42ISibf.data fuzzerLogFile-0-18v42ISibf.data.yaml future_qpdf_outlines_fuzzer.covreport