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
tiffpredictor_fuzzer /src/qpdf/fuzz/tiffpredictor_fuzzer.cc 91 37 11 14 281 223 tiffpredictor_fuzzer.cc
hex_fuzzer /src/qpdf/fuzz/hex_fuzzer.cc 44 28 5 8 126 83 hex_fuzzer.cc
future_lzw_fuzzer /src/qpdf/fuzz/lzw_fuzzer.cc 82 48 10 12 258 195 lzw_fuzzer.cc
runlength_fuzzer /src/qpdf/fuzz/runlength_fuzzer.cc 61 26 6 7 189 134 runlength_fuzzer.cc
future_hex_fuzzer /src/qpdf/fuzz/hex_fuzzer.cc 44 28 5 8 126 83 hex_fuzzer.cc
lzw_fuzzer /src/qpdf/fuzz/lzw_fuzzer.cc 82 48 10 12 258 195 lzw_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_ascii85_fuzzer /src/qpdf/fuzz/ascii85_fuzzer.cc 47 26 5 8 132 91 ascii85_fuzzer.cc
future_flate_fuzzer /src/qpdf/fuzz/flate_fuzzer.cc 138 419 11 16 2642 1025 flate_fuzzer.cc
future_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
future_tiffpredictor_fuzzer /src/qpdf/fuzz/tiffpredictor_fuzzer.cc 91 37 11 14 281 223 tiffpredictor_fuzzer.cc
ascii85_fuzzer /src/qpdf/fuzz/ascii85_fuzzer.cc 47 26 5 8 132 91 ascii85_fuzzer.cc
json_fuzzer /src/qpdf/fuzz/json_fuzzer.cc 1495 2391 41 65 11903 8886 json_fuzzer.cc
qpdf_outlines_fuzzer /src/qpdf/fuzz/qpdf_outlines_fuzzer.cc 1665 2402 41 72 12984 9783 qpdf_outlines_fuzzer.cc
pngpredictor_fuzzer /src/qpdf/fuzz/pngpredictor_fuzzer.cc 71 28 8 9 218 170 pngpredictor_fuzzer.cc
qpdf_pages_fuzzer /src/qpdf/fuzz/qpdf_pages_fuzzer.cc 2268 2112 41 98 19414 14486 qpdf_pages_fuzzer.cc
flate_fuzzer /src/qpdf/fuzz/flate_fuzzer.cc 138 419 11 16 2642 1025 flate_fuzzer.cc
future_qpdf_outlines_fuzzer /src/qpdf/fuzz/qpdf_outlines_fuzzer.cc 1665 2404 41 72 12977 9777 qpdf_outlines_fuzzer.cc
future_json_fuzzer /src/qpdf/fuzz/json_fuzzer.cc 1495 2393 41 65 11903 8886 json_fuzzer.cc
future_qpdf_crypt_fuzzer /src/qpdf/fuzz/qpdf_crypt_fuzzer.cc 2152 2321 41 90 19111 13138 qpdf_crypt_fuzzer.cc
qpdf_fuzzer /src/qpdf/fuzz/qpdf_fuzzer.cc 2130 2330 41 90 18946 13050 qpdf_fuzzer.cc
future_qpdf_pages_fuzzer /src/qpdf/fuzz/qpdf_pages_fuzzer.cc 2268 2114 41 98 19407 14480 qpdf_pages_fuzzer.cc
qpdf_crypt_fuzzer /src/qpdf/fuzz/qpdf_crypt_fuzzer.cc 2152 2319 41 90 19118 13144 qpdf_crypt_fuzzer.cc
future_qpdf_fuzzer /src/qpdf/fuzz/qpdf_fuzzer.cc 2130 2332 41 90 18939 13044 qpdf_fuzzer.cc
qpdf_lin_fuzzer /src/qpdf/fuzz/qpdf_lin_fuzzer.cc 2134 2328 41 90 18962 13054 qpdf_lin_fuzzer.cc
future_qpdf_lin_fuzzer /src/qpdf/fuzz/qpdf_lin_fuzzer.cc 2134 2330 41 90 18955 13048 qpdf_lin_fuzzer.cc
future_qpdf_crypt_insecure_fuzzer /src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc 2150 2322 41 90 19099 13136 qpdf_crypt_insecure_fuzzer.cc
qpdf_crypt_insecure_fuzzer /src/qpdf/fuzz/qpdf_crypt_insecure_fuzzer.cc 2150 2320 41 90 19106 13142 qpdf_crypt_insecure_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: 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: 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_lzw_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: 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_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: 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] 5 6.75%
yellow [10:29] 0 0.0%
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: 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_ascii85_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: future_flate_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

filename functions hit
/src/qpdf/fuzz/flate_fuzzer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 8
/src/qpdf/include/qpdf/QIntC.hh 9
/usr/local/bin/../include/c++/v1/sstream 2
/usr/local/bin/../include/c++/v1/stdexcept 1
/src/qpdf/libqpdf/qpdf/Util.hh 3
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/zlib/deflate.c 16
/src/zlib/crc32.c 5
/src/zlib/adler32.c 2
/src/zlib/trees.c 20
/src/zlib/inflate.c 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 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_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_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: 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: 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 2369 75.7%
gold [1:9] 35 1.11%
yellow [10:29] 50 1.59%
greenyellow [30:49] 7 0.22%
lawngreen 50+ 667 21.3%
All colors 3128 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
222 2668 std::__1::shared_ptr QPDFObject::create (bool&) call site: 02668 _ZN4qpdf7IntegerC2ITkNSt3__18integralEmEET_
200 2066 QUtil::hex_decode(std::__1::basic_string , std::__1::allocator > const&) call site: 02066 __cxa_allocate_exception
180 1656 std::__1::shared_ptr QPDFObject::create , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator >&&) call site: 01656 __cxa_allocate_exception
163 1902 QPDF::EncryptionParameters::initialize(QPDF&) call site: 01902 __cxa_allocate_exception
97 2432 QPDFObjectHandle::getObjectID() const call site: 02432 __cxa_allocate_exception
91 1371 QPDFObjectHandle::getIntValueAsInt() const call site: 01371 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralExEEv
85 1471 QPDFObjectHandle::getName() const call site: 01471 __cxa_allocate_exception
77 804 QPDFObject::move_to(std::__1::shared_ptr &, bool) call site: 00804 __cxa_allocate_exception
70 1252 qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&) call site: 01252 __cxa_allocate_exception
64 1085 QPDFLogger::defaultLogger() call site: 01085 __cxa_end_catch
60 2275 QPDF::Doc::Objects::readTrailer() call site: 02275 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralEjEEv
44 703 QPDFParser::parseRemainder(bool) call site: 00703 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
460
Functions that are reachable but not covered
786
Reachable functions
1495
Percentage of reachable functions covered
47.42%
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 87
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 17
/src/qpdf/libqpdf/QPDFObjectHandle.cc 62
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_Discard.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 12
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Flate.cc 1
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 3
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6

Fuzzer: qpdf_outlines_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 598 16.8%
gold [1:9] 134 3.76%
yellow [10:29] 71 1.99%
greenyellow [30:49] 27 0.75%
lawngreen 50+ 2729 76.6%
All colors 3559 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
60 2364 std::__1::shared_ptr QPDFObject::create , std::__1::allocator >&>(std::__1::basic_string , std::__1::allocator >&) call site: 02364 __cxa_allocate_exception
19 2343 QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool) call site: 02343 __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 2744 QPDF::Doc::Objects::parse(char const*) call site: 02744 __cxa_begin_catch
8 22 long long QIntC::to_offset (unsigned long const&) call site: 00022 __cxa_allocate_exception
8 1398 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01398
7 347 QPDF::warn(QPDFExc const&) call site: 00347 __cxa_allocate_exception
7 1153 QPDFObjectHandle::getName() const call site: 01153 __cxa_allocate_exception
7 1373 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01373

Runtime coverage analysis

Covered functions
1030
Functions that are reachable but not covered
233
Reachable functions
1665
Percentage of reachable functions covered
86.01%
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 105
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 30
/src/qpdf/libqpdf/QPDFObjectHandle.cc 67
/src/qpdf/libqpdf/QPDF_Dictionary.cc 17
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 12
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 3
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6
/src/qpdf/libqpdf/QPDFOutlineDocumentHelper.cc 3
/src/qpdf/libqpdf/QPDFOutlineObjectHelper.cc 3
/src/qpdf/libqpdf/NNTree.cc 32
/src/qpdf/libqpdf/qpdf/NNTree.hh 15
/src/qpdf/include/qpdf/QPDFNameTreeObjectHelper.hh 1

Fuzzer: pngpredictor_fuzzer

Call tree

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

Call tree overview bitmap:

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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

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

Fuzzer: 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 917 16.5%
gold [1:9] 132 2.38%
yellow [10:29] 92 1.66%
greenyellow [30:49] 74 1.33%
lawngreen 50+ 4313 78.0%
All colors 5528 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 5151 (anonymous namespace)::JSONParser::getToken() call site: 05151 __cxa_allocate_exception
21 4182 qpdf::Name::normalize(std::__1::basic_string , std::__1::allocator > const&) call site: 04182 __cxa_allocate_exception
19 2399 qpdf::BaseHandle::copy(bool) const call site: 02399 __cxa_allocate_exception
19 5282 (anonymous namespace)::JSONParser::handleToken() call site: 05282 __cxa_allocate_exception
18 5362 (anonymous namespace)::JSONParser::handleToken() call site: 05362 __cxa_allocate_exception
13 4997 qpdf::BaseHandle::write_json(int, JSON::Writer&) const call site: 04997
11 175 qpdf::Tokenizer::inBeforeToken(char) call site: 00175 __cxa_allocate_exception
11 4792 void QIntC::range_check_error (long long const&, long long const&) call site: 04792 __cxa_allocate_exception
11 5235 (anonymous namespace)::JSONParser::getToken() call site: 05235 __cxa_allocate_exception
11 5248 (anonymous namespace)::JSONParser::getToken() call site: 05248 __cxa_allocate_exception
10 911 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00911 __cxa_allocate_exception
10 1246 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01246 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_pages_fuzzer.cc 8
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 1
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 2
/src/qpdf/libqpdf/BufferInputSource.cc 3
/src/qpdf/include/qpdf/InputSource.hh 4
/src/qpdf/include/qpdf/QIntC.hh 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 33
/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 112
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 35
/src/qpdf/libqpdf/QPDFObjectHandle.cc 117
/src/qpdf/libqpdf/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 19
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 11
/src/qpdf/include/qpdf/QPDFDocumentHelper.hh 1
/src/qpdf/libqpdf/QPDFPageLabelDocumentHelper.cc 4
/src/qpdf/libqpdf/NNTree.cc 40
/src/qpdf/libqpdf/qpdf/NNTree.hh 15
/src/qpdf/libqpdf/QPDFDocumentHelper.cc 1
/src/qpdf/libqpdf/QPDFOutlineDocumentHelper.cc 6
/src/qpdf/include/qpdf/QPDFOutlineObjectHelper.hh 3
/src/qpdf/libqpdf/QPDFOutlineObjectHelper.cc 5
/src/qpdf/include/qpdf/QPDFObjectHelper.hh 6
/src/qpdf/libqpdf/QPDFObjectHelper.cc 1
/src/qpdf/libqpdf/QPDFAcroFormDocumentHelper.cc 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/include/qpdf/QPDFFormFieldObjectHelper.hh 3
/src/qpdf/libqpdf/qpdf/AcroForm.hh 13
/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: 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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 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 616 17.3%
gold [1:9] 115 3.23%
yellow [10:29] 91 2.55%
greenyellow [30:49] 33 0.92%
lawngreen 50+ 2702 75.9%
All colors 3557 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
60 2362 std::__1::shared_ptr QPDFObject::create , std::__1::allocator >&>(std::__1::basic_string , std::__1::allocator >&) call site: 02362 __cxa_allocate_exception
25 1381 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01381
19 2341 QPDF::Doc::Pages::getAllPagesInternal(QPDFObjectHandle, QPDFObjGen::set&, QPDFObjGen::set&, bool, bool) call site: 02341 __cxa_allocate_exception
15 1244 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01244 __cxa_allocate_exception
12 1224 qpdf::Stream::pipeStreamData(Pipeline*, bool*, int, qpdf_stream_decode_level_e, bool, bool) call site: 01224
11 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 1368 QPDF::decryptStream(std::__1::shared_ptr , std::__1::shared_ptr , QPDF&, Pipeline*&, QPDFObjGen, QPDFObjectHandle&, bool, std::__1::unique_ptr >&) call site: 01368
9 2742 QPDF::Doc::Objects::parse(char const*) call site: 02742 __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
1033
Functions that are reachable but not covered
235
Reachable functions
1665
Percentage of reachable functions covered
85.89%
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 105
/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_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 2369 75.7%
gold [1:9] 25 0.79%
yellow [10:29] 45 1.43%
greenyellow [30:49] 31 0.99%
lawngreen 50+ 658 21.0%
All colors 3128 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
222 2668 std::__1::shared_ptr QPDFObject::create (bool&) call site: 02668 _ZN4qpdf7IntegerC2ITkNSt3__18integralEmEET_
200 2066 QUtil::hex_decode(std::__1::basic_string , std::__1::allocator > const&) call site: 02066 __cxa_allocate_exception
180 1656 std::__1::shared_ptr QPDFObject::create , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator >&&) call site: 01656 __cxa_allocate_exception
163 1902 QPDF::EncryptionParameters::initialize(QPDF&) call site: 01902 __cxa_allocate_exception
97 2432 QPDFObjectHandle::getObjectID() const call site: 02432 __cxa_allocate_exception
91 1371 QPDFObjectHandle::getIntValueAsInt() const call site: 01371 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralExEEv
85 1471 QPDFObjectHandle::getName() const call site: 01471 __cxa_allocate_exception
77 804 QPDFObject::move_to(std::__1::shared_ptr &, bool) call site: 00804 __cxa_allocate_exception
70 1252 qpdf::BaseDictionary::BaseDictionary(QPDFObjectHandle const&) call site: 01252 __cxa_allocate_exception
64 1085 QPDFLogger::defaultLogger() call site: 01085 __cxa_end_catch
60 2275 QPDF::Doc::Objects::readTrailer() call site: 02275 _ZNK4qpdf7IntegercvT_ITkNSt3__18integralEjEEv
44 703 QPDFParser::parseRemainder(bool) call site: 00703 __cxa_allocate_exception

Runtime coverage analysis

Covered functions
461
Functions that are reachable but not covered
786
Reachable functions
1495
Percentage of reachable functions covered
47.42%
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 87
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 17
/src/qpdf/libqpdf/QPDFObjectHandle.cc 62
/src/qpdf/libqpdf/QPDF_Dictionary.cc 16
/src/qpdf/libqpdf/QPDFObject.cc 1
/src/qpdf/libqpdf/Pl_Discard.cc 1
/src/qpdf/libqpdf/Pl_OStream.cc 1
/src/qpdf/include/qpdf/Pipeline.hh 2
/src/qpdf/libqpdf/QPDF_Stream.cc 12
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Flate.cc 1
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 3
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 6

Fuzzer: future_qpdf_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.6%
gold [1:9] 108 2.25%
yellow [10:29] 109 2.27%
greenyellow [30:49] 43 0.89%
lawngreen 50+ 3587 74.9%
All colors 4785 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

Covered functions
1378
Functions that are reachable but not covered
335
Reachable functions
2152
Percentage of reachable functions covered
84.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/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 29
/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 96
/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: qpdf_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1426 30.1%
gold [1:9] 104 2.19%
yellow [10:29] 60 1.26%
greenyellow [30:49] 103 2.17%
lawngreen 50+ 3040 64.2%
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
223 3151 qpdf::impl::Writer::write() call site: 03151 __assert_fail
120 4400 qpdf::impl::Writer::writeObjectStream(QPDFObjectHandle) call site: 04400 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
81 3675 Pl_Flate::checkError(char const*, int) call site: 03675 deflate
49 4632 qpdf::impl::Writer::writeStandard() call site: 04632
41 2851 qpdf::impl::Writer::generateID(bool) call site: 02851
39 4557 BitWriter::flush() call site: 04557
30 4526 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04526 __cxa_allocate_exception
27 4597 qpdf::pl::Count::~Count() call site: 04597 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
25 2393 qpdf::BaseHandle::copy(bool) const call site: 02393 __cxa_allocate_exception
23 3432 (anonymous namespace)::Pl_stack::popper() call site: 03432 fopen
23 3481 qpdf::impl::Writer::openObject(int) call site: 03481 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
23 3634 unsigned int QIntC::to_uint (unsigned long const&) call site: 03634 deflateInit_

Runtime coverage analysis

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

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_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 29
/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 96
/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: future_qpdf_pages_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1017 18.4%
gold [1:9] 108 1.95%
yellow [10:29] 83 1.50%
greenyellow [30:49] 53 0.95%
lawngreen 50+ 4265 77.1%
All colors 5526 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
65 3311 NNTreeIterator::split(qpdf::Dictionary, std::__1::__list_iterator ) call site: 03311
57 5149 (anonymous namespace)::JSONParser::getToken() call site: 05149 __cxa_allocate_exception
54 3238 NNTreeIterator::resetLimits(qpdf::Dictionary, std::__1::__list_iterator ) call site: 03238
21 4180 qpdf::Name::normalize(std::__1::basic_string , std::__1::allocator > const&) call site: 04180 __cxa_allocate_exception
19 2397 qpdf::BaseHandle::copy(bool) const call site: 02397 __cxa_allocate_exception
19 5280 (anonymous namespace)::JSONParser::handleToken() call site: 05280 __cxa_allocate_exception
18 5360 (anonymous namespace)::JSONParser::handleToken() call site: 05360 __cxa_allocate_exception
13 4995 qpdf::BaseHandle::write_json(int, JSON::Writer&) const call site: 04995
11 166 qpdf::Tokenizer::inBeforeToken(char) call site: 00166 __cxa_allocate_exception
11 5233 (anonymous namespace)::JSONParser::getToken() call site: 05233 __cxa_allocate_exception
11 5246 (anonymous namespace)::JSONParser::getToken() call site: 05246 __cxa_allocate_exception
10 909 qpdf::Stream::Stream(std::__1::shared_ptr const&) call site: 00909 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_pages_fuzzer.cc 8
/src/qpdf/libqpdf/Buffer.cc 4
/src/qpdf/libqpdf/Pl_Discard.cc 2
/src/qpdf/libqpdf/Pipeline.cc 6
/src/qpdf/libqpdf/Pl_DCT.cc 3
/src/qpdf/libqpdf/Pl_PNGFilter.cc 1
/src/qpdf/libqpdf/Pl_RunLength.cc 1
/src/qpdf/libqpdf/Pl_TIFFPredictor.cc 1
/src/qpdf/libqpdf/Pl_Flate.cc 2
/src/qpdf/libqpdf/BufferInputSource.cc 3
/src/qpdf/include/qpdf/InputSource.hh 4
/src/qpdf/libqpdf/QPDF.cc 23
/src/qpdf/libqpdf/qpdf/QPDF_private.hh 33
/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 112
/src/qpdf/libqpdf/qpdf/QPDFObject_private.hh 47
/usr/local/bin/../include/c++/v1/__exception/exception.h 1
/src/qpdf/libqpdf/QPDF_Array.cc 35
/src/qpdf/libqpdf/QPDFObjectHandle.cc 117
/src/qpdf/libqpdf/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 19
/src/qpdf/libqpdf/qpdf/Pipeline_private.hh 2
/src/qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh 2
/src/qpdf/libqpdf/qpdf/SF_RunLengthDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_DCTDecode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCII85Decode.hh 1
/src/qpdf/libqpdf/qpdf/SF_ASCIIHexDecode.hh 1
/src/qpdf/libqpdf/qpdf/ContentNormalizer.hh 3
/src/qpdf/libqpdf/Pl_Count.cc 3
/src/qpdf/libqpdf/QPDF_encryption.cc 42
/src/qpdf/libqpdf/MD5.cc 5
/src/qpdf/libqpdf/QPDFCryptoProvider.cc 6
/src/qpdf/include/qpdf/QPDFCryptoProvider.hh 1
/src/qpdf/libqpdf/qpdf/MD5.hh 3
/src/qpdf/libqpdf/RC4.cc 3
/src/qpdf/libqpdf/qpdf/RC4.hh 1
/src/qpdf/libqpdf/Pl_SHA2.cc 4
/src/qpdf/libqpdf/Pl_Buffer.cc 4
/src/qpdf/libqpdf/Pl_AES_PDF.cc 7
/src/qpdf/libqpdf/CryptoRandomDataProvider.cc 1
/src/qpdf/libqpdf/qpdf/Pl_AES_PDF.hh 1
/src/qpdf/libqpdf/qpdf/Pl_SHA2.hh 1
/src/qpdf/libqpdf/QPDF_pages.cc 11
/src/qpdf/include/qpdf/QPDFDocumentHelper.hh 1
/src/qpdf/libqpdf/QPDFPageLabelDocumentHelper.cc 4
/src/qpdf/libqpdf/NNTree.cc 40
/src/qpdf/libqpdf/qpdf/NNTree.hh 15
/src/qpdf/libqpdf/QPDFDocumentHelper.cc 1
/src/qpdf/libqpdf/QPDFOutlineDocumentHelper.cc 6
/src/qpdf/include/qpdf/QPDFOutlineObjectHelper.hh 3
/src/qpdf/libqpdf/QPDFOutlineObjectHelper.cc 5
/src/qpdf/include/qpdf/QPDFObjectHelper.hh 6
/src/qpdf/libqpdf/QPDFObjectHelper.cc 1
/src/qpdf/libqpdf/QPDFAcroFormDocumentHelper.cc 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/include/qpdf/QPDFFormFieldObjectHelper.hh 3
/src/qpdf/libqpdf/qpdf/AcroForm.hh 13
/src/qpdf/libqpdf/QPDFAnnotationObjectHelper.cc 7
/src/qpdf/libqpdf/Pl_QPDFTokenizer.cc 3
/src/qpdf/libqpdf/QPDF_String.cc 4
/src/qpdf/libqpdf/QPDFMatrix.cc 11
/src/qpdf/include/qpdf/QPDFNumberTreeObjectHelper.hh 1
/src/qpdf/libqpdf/JSON.cc 29
/src/qpdf/libqpdf/qpdf/JSON_writer.hh 8
/src/qpdf/include/qpdf/JSON.hh 5
/src/qpdf/libqpdf/Pl_String.cc 2
/src/qpdf/include/qpdf/QPDFNameTreeObjectHelper.hh 1
/src/qpdf/include/qpdf/QPDFAcroFormDocumentHelper.hh 1
/src/qpdf/include/qpdf/QPDFOutlineDocumentHelper.hh 1
/src/qpdf/include/qpdf/QPDFPageLabelDocumentHelper.hh 1

Fuzzer: qpdf_crypt_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] 112 2.33%
yellow [10:29] 105 2.19%
greenyellow [30:49] 54 1.12%
lawngreen 50+ 3578 74.7%
All colors 4787 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
87 4679 qpdf::impl::Writer::write() call site: 04679 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
46 2913 qpdf::impl::Writer::doWriteSetup() call site: 02913
26 2813 qpdf::impl::Writer::generateID(bool) call site: 02813 __cxa_allocate_exception
25 2393 qpdf::BaseHandle::copy(bool) const call site: 02393 __cxa_allocate_exception
18 3488 qpdf::impl::Writer::writeLinearized() call site: 03488 fopen
17 4166 qpdf::BaseHandle::unparse() const call site: 04166 __cxa_allocate_exception
16 2744 QPDF::Doc::Objects::parse(char const*) call site: 02744 __cxa_begin_catch
16 2850 qpdf::impl::Writer::setEncryptionParameters(char const*, char const*) call site: 02850 __cxa_allocate_exception
16 2960 qpdf::impl::Writer::doWriteSetup() call site: 02960
15 1246 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01246 __cxa_allocate_exception
15 3739 deflate call site: 03739 crc32
14 3079 qpdf::impl::Writer::preserveObjectStreams() call site: 03079

Runtime coverage analysis

Covered functions
1376
Functions that are reachable but not covered
335
Reachable functions
2152
Percentage of reachable functions covered
84.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/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 29
/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 96
/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: future_qpdf_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 1427 30.1%
gold [1:9] 112 2.36%
yellow [10:29] 86 1.81%
greenyellow [30:49] 71 1.50%
lawngreen 50+ 3035 64.1%
All colors 4731 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

Covered functions
1320
Functions that are reachable but not covered
438
Reachable functions
2130
Percentage of reachable functions covered
79.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_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 29
/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 96
/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: qpdf_lin_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 999 21.0%
gold [1:9] 116 2.44%
yellow [10:29] 110 2.32%
greenyellow [30:49] 63 1.33%
lawngreen 50+ 3448 72.8%
All colors 4736 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
87 4628 qpdf::impl::Writer::write() call site: 04628 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
39 4405 qpdf::impl::Writer::writeLinearized() call site: 04405 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
28 2971 ObjTable ::large_element(unsigned long) call site: 02971 __cxa_allocate_exception
25 1383 QPDF::EncryptionParameters::interpretCF(qpdf::Name const&) const call site: 01383
25 2393 qpdf::BaseHandle::copy(bool) const call site: 02393 __cxa_allocate_exception
22 4185 qpdf::impl::Writer::unparseObject(QPDFObjectHandle, unsigned long, int, unsigned long, bool) call site: 04185
18 3437 qpdf::impl::Writer::writeLinearized() call site: 03437 fopen
17 4115 qpdf::BaseHandle::unparse() const call site: 04115 __cxa_allocate_exception
16 2744 QPDF::Doc::Objects::parse(char const*) call site: 02744 __cxa_begin_catch
16 2909 qpdf::impl::Writer::doWriteSetup() call site: 02909
15 1246 QPDFObjectHandle::hasKey(std::__1::basic_string , std::__1::allocator > const&) const call site: 01246 __cxa_allocate_exception
15 3688 deflate call site: 03688 crc32

Runtime coverage analysis

Covered functions
1374
Functions that are reachable but not covered
327
Reachable functions
2134
Percentage of reachable functions covered
84.68%
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 29
/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 96
/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: future_qpdf_lin_fuzzer

Call tree

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

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 994 20.9%
gold [1:9] 128 2.70%
yellow [10:29] 97 2.04%
greenyellow [30:49] 73 1.54%
lawngreen 50+ 3442 72.7%
All colors 4734 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

Covered functions
1378
Functions that are reachable but not covered
327
Reachable functions
2134
Percentage of reachable functions covered
84.68%
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 29
/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 96
/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: future_qpdf_crypt_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 1642 34.3%
gold [1:9] 133 2.78%
yellow [10:29] 78 1.63%
greenyellow [30:49] 63 1.31%
lawngreen 50+ 2867 59.9%
All colors 4783 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

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

Runtime coverage analysis

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

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_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 29
/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 96
/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Fuzzer: qpdf_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 1639 34.2%
gold [1:9] 108 2.25%
yellow [10:29] 108 2.25%
greenyellow [30:49] 42 0.87%
lawngreen 50+ 2888 60.3%
All colors 4785 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
234 3203 qpdf::impl::Writer::write() call site: 03203 __assert_fail
79 4493 qpdf::impl::Writer::writeEncryptionDictionary() call site: 04493 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralExEERS1_T_
76 3020 ObjTable ::large_element(unsigned long) call site: 03020 __cxa_allocate_exception
57 4398 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04398 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEmEERS1_T_
49 4684 qpdf::impl::Writer::writeStandard() call site: 04684
46 2911 qpdf::impl::Writer::doWriteSetup() call site: 02911
39 4609 BitWriter::flush() call site: 04609
34 4336 qpdf::impl::Writer::writeObject(QPDFObjectHandle, int) call site: 04336 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
30 4578 BitWriter::writeBits(unsigned long long, unsigned long) call site: 04578 __cxa_allocate_exception
29 3484 (anonymous namespace)::Pl_stack::popper() call site: 03484 fopen
27 4649 qpdf::pl::Count::~Count() call site: 04649 _ZN4qpdf4impl6Writer5writeITkNSt3__18integralEiEERS1_T_
26 2811 qpdf::impl::Writer::generateID(bool) call site: 02811 __cxa_allocate_exception

Runtime coverage analysis

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

Files reached

filename functions hit
/src/qpdf/fuzz/qpdf_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 29
/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 96
/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 10
/src/zlib/inftrees.c 1
/src/zlib/inffast.c 1
/src/qpdf/libqpdf/QPDF_String.cc 3
/src/qpdf/libqpdf/Pl_RC4.cc 3
/src/qpdf/libqpdf/qpdf/Pl_RC4.hh 1
/src/qpdf/libqpdf/BitWriter.cc 4
/src/qpdf/libqpdf/qpdf/bits_functions.hh 1

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

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

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
QPDF::showLinearizationData() /src/qpdf/libqpdf/QPDF_linearization.cc 1 ['N/A'] 46 0 18 3 2 1548 0 9506 1366
QPDFPageObjectHelper::flattenRotation(QPDFAcroFormDocumentHelper*) /src/qpdf/libqpdf/QPDFPageObjectHelper.cc 2 ['N/A', 'N/A'] 45 0 1085 191 142 1966 0 11526 1339
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 1519 0 8698 511
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 1509 0 8648 281
(anonymousnamespace)::InlineImageTracker::handleToken(QPDFTokenizer::Tokenconst&) /src/qpdf/libqpdf/QPDFPageObjectHelper.cc 2 ['N/A', 'N/A'] 43 0 373 68 52 1413 0 8312 267

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

Functions statically reachable by fuzzers
55.0%
1922 / 3473
Cyclomatic complexity statically reachable by fuzzers
71.0%
25573 / 35962

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

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/flate_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/runlength_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

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

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/ascii85_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/json_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_outlines_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/pngpredictor_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_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::Name::normalize(std::__1::basic_string, std::__1::allocator > const&)', 'qpdf::BaseHandle::copy(bool) const', '(anonymous namespace)::JSONParser::handleToken()', '(anonymous namespace)::JSONParser::handleToken()', '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()', '(anonymous namespace)::JSONParser::getToken()']

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

Dictionary

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


Fuzzer function priority

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

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

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

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_pages_fuzzer.cc

Dictionary

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


Fuzzer function priority

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

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

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

Dictionary

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


Fuzzer function priority

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

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

/src/qpdf/fuzz/qpdf_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_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_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()']

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

Directories in report

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

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
tiffpredictor_fuzzer fuzzerLogFile-0-evG6GFsszB.data fuzzerLogFile-0-evG6GFsszB.data.yaml tiffpredictor_fuzzer.covreport
hex_fuzzer fuzzerLogFile-0-EM2miVZn5W.data fuzzerLogFile-0-EM2miVZn5W.data.yaml hex_fuzzer.covreport
future_lzw_fuzzer fuzzerLogFile-0-qxp0uNlT4V.data fuzzerLogFile-0-qxp0uNlT4V.data.yaml future_lzw_fuzzer.covreport
runlength_fuzzer fuzzerLogFile-0-gXjz02KX8n.data fuzzerLogFile-0-gXjz02KX8n.data.yaml runlength_fuzzer.covreport
future_hex_fuzzer fuzzerLogFile-0-QsHiBswn0U.data fuzzerLogFile-0-QsHiBswn0U.data.yaml future_hex_fuzzer.covreport
lzw_fuzzer fuzzerLogFile-0-wodusVV1yO.data fuzzerLogFile-0-wodusVV1yO.data.yaml lzw_fuzzer.covreport
dct_fuzzer fuzzerLogFile-0-z9NO6SBLmD.data fuzzerLogFile-0-z9NO6SBLmD.data.yaml dct_fuzzer.covreport
future_dct_fuzzer fuzzerLogFile-0-TXXOwHJcko.data fuzzerLogFile-0-TXXOwHJcko.data.yaml future_dct_fuzzer.covreport
future_ascii85_fuzzer fuzzerLogFile-0-YofZMcZLHu.data fuzzerLogFile-0-YofZMcZLHu.data.yaml future_ascii85_fuzzer.covreport
future_flate_fuzzer fuzzerLogFile-0-Cuoo6PVORe.data fuzzerLogFile-0-Cuoo6PVORe.data.yaml future_flate_fuzzer.covreport
future_runlength_fuzzer fuzzerLogFile-0-QCY6aV99di.data fuzzerLogFile-0-QCY6aV99di.data.yaml future_runlength_fuzzer.covreport
future_pngpredictor_fuzzer fuzzerLogFile-0-ZhR0Zd1dHR.data fuzzerLogFile-0-ZhR0Zd1dHR.data.yaml future_pngpredictor_fuzzer.covreport
future_tiffpredictor_fuzzer fuzzerLogFile-0-mzI7fsbGSf.data fuzzerLogFile-0-mzI7fsbGSf.data.yaml future_tiffpredictor_fuzzer.covreport
ascii85_fuzzer fuzzerLogFile-0-XTke0swZGK.data fuzzerLogFile-0-XTke0swZGK.data.yaml ascii85_fuzzer.covreport
json_fuzzer fuzzerLogFile-0-0kmWQd9XPK.data fuzzerLogFile-0-0kmWQd9XPK.data.yaml json_fuzzer.covreport
qpdf_outlines_fuzzer fuzzerLogFile-0-akU7IFemps.data fuzzerLogFile-0-akU7IFemps.data.yaml qpdf_outlines_fuzzer.covreport
pngpredictor_fuzzer fuzzerLogFile-0-a6kVHX9g26.data fuzzerLogFile-0-a6kVHX9g26.data.yaml pngpredictor_fuzzer.covreport
qpdf_pages_fuzzer fuzzerLogFile-0-C0OAMkE1DV.data fuzzerLogFile-0-C0OAMkE1DV.data.yaml qpdf_pages_fuzzer.covreport
flate_fuzzer fuzzerLogFile-0-9UmPT8hb2C.data fuzzerLogFile-0-9UmPT8hb2C.data.yaml flate_fuzzer.covreport
future_qpdf_outlines_fuzzer fuzzerLogFile-0-WQyUcdsgWJ.data fuzzerLogFile-0-WQyUcdsgWJ.data.yaml future_qpdf_outlines_fuzzer.covreport
future_json_fuzzer fuzzerLogFile-0-JJof5hwJks.data fuzzerLogFile-0-JJof5hwJks.data.yaml future_json_fuzzer.covreport
future_qpdf_crypt_fuzzer fuzzerLogFile-0-XgkVKY2N7G.data fuzzerLogFile-0-XgkVKY2N7G.data.yaml future_qpdf_crypt_fuzzer.covreport
qpdf_fuzzer fuzzerLogFile-0-strZOlVUvK.data fuzzerLogFile-0-strZOlVUvK.data.yaml qpdf_fuzzer.covreport
future_qpdf_pages_fuzzer fuzzerLogFile-0-Kxpfx3fRiN.data fuzzerLogFile-0-Kxpfx3fRiN.data.yaml future_qpdf_pages_fuzzer.covreport
qpdf_crypt_fuzzer fuzzerLogFile-0-0nrVahsOZg.data fuzzerLogFile-0-0nrVahsOZg.data.yaml qpdf_crypt_fuzzer.covreport
future_qpdf_fuzzer fuzzerLogFile-0-46iLY7NF9k.data fuzzerLogFile-0-46iLY7NF9k.data.yaml future_qpdf_fuzzer.covreport
qpdf_lin_fuzzer fuzzerLogFile-0-76ch32EhYD.data fuzzerLogFile-0-76ch32EhYD.data.yaml qpdf_lin_fuzzer.covreport
future_qpdf_lin_fuzzer fuzzerLogFile-0-rK8lbXHbOv.data fuzzerLogFile-0-rK8lbXHbOv.data.yaml future_qpdf_lin_fuzzer.covreport
future_qpdf_crypt_insecure_fuzzer fuzzerLogFile-0-eAdbFKAJci.data fuzzerLogFile-0-eAdbFKAJci.data.yaml future_qpdf_crypt_insecure_fuzzer.covreport
qpdf_crypt_insecure_fuzzer fuzzerLogFile-0-wMHltPI3Cv.data fuzzerLogFile-0-wMHltPI3Cv.data.yaml qpdf_crypt_insecure_fuzzer.covreport