Project: qpdf

Language c++
OSS-Fuzz project link
Project repository link
Build status: Fuzzers succeeding: Build log
Build status: Code coverage succeeding: Build log
Build status: Fuzz Introspector succeeding: Build log
Fuzzer count 30
Lines of code 43653
Lines covered 22990
Code coverage 52.67%
Code coverage report Report link
Static reachability 57.19%
Fuzz Introspector report Report link (from 2025-03-27)
Fuzzer Code coverage (lines) Latest Report Comments
ascii85_fuzzer 65.43% (avg: 65.47%, max: 65.61%) 2025-03-27
dct_fuzzer 31.27% (avg: 31.27%, max: 31.29%) 2025-03-27
flate_fuzzer 16.14% (avg: 16.15%, max: 16.2%) 2025-03-27
future_ascii85_fuzzer 65.43% (avg: 65.47%, max: 65.61%) 2025-03-27
future_dct_fuzzer 31.27% (avg: 31.27%, max: 31.29%) 2025-03-27
future_flate_fuzzer 16.14% (avg: 16.15%, max: 16.2%) 2025-03-27
future_hex_fuzzer 62.5% (avg: 63.01%, max: 63.58%) 2025-03-27
future_json_fuzzer 8.43% (avg: 8.42%, max: 8.49%) 2025-03-27
future_lzw_fuzzer 61.67% (avg: 60.33%, max: 61.67%) 2025-03-27
future_pngpredictor_fuzzer 66.09% (avg: 64.4%, max: 66.09%) 2025-03-27
future_qpdf_crypt_fuzzer 40.87% (avg: 40.5%, max: 40.87%) 2025-03-27
future_qpdf_crypt_insecure_fuzzer 37.67% (avg: 37.05%, max: 37.67%) 2025-03-27
future_qpdf_fuzzer 37.34% (avg: 36.7%, max: 37.34%) 2025-03-27
future_qpdf_lin_fuzzer 40.61% (avg: 40.19%, max: 40.61%) 2025-03-27
future_qpdf_outlines_fuzzer 23.71% (avg: 23.42%, max: 23.71%) 2025-03-27
future_qpdf_pages_fuzzer 31.7% (avg: 31.49%, max: 31.68%) 2025-03-27
future_runlength_fuzzer 45.73% (avg: 44.35%, max: 45.73%) 2025-03-27
future_tiffpredictor_fuzzer 61.01% (avg: 59.65%, max: 61.01%) 2025-03-27
hex_fuzzer 62.5% (avg: 63.01%, max: 63.58%) 2025-03-27
json_fuzzer 8.43% (avg: 8.43%, max: 8.49%) 2025-03-27
lzw_fuzzer 61.67% (avg: 60.33%, max: 61.67%) 2025-03-27
pngpredictor_fuzzer 66.09% (avg: 64.4%, max: 66.09%) 2025-03-27
qpdf_crypt_fuzzer 41.12% (avg: 40.7%, max: 41.12%) 2025-03-27
qpdf_crypt_insecure_fuzzer 37.11% (avg: 36.71%, max: 37.04%) 2025-03-27
qpdf_fuzzer 37.39% (avg: 36.96%, max: 37.34%) 2025-03-27
qpdf_lin_fuzzer 40.18% (avg: 39.34%, max: 40.18%) 2025-03-27
qpdf_outlines_fuzzer 24.17% (avg: 23.76%, max: 24.14%) 2025-03-27
qpdf_pages_fuzzer 31.68% (avg: 31.5%, max: 31.68%) 2025-03-27
runlength_fuzzer 45.73% (avg: 44.35%, max: 45.73%) 2025-03-27
tiffpredictor_fuzzer 61.01% (avg: 59.65%, max: 61.01%) 2025-03-27

Historical Progression

Per Fuzzer Progression

Functions of interest to fuzz

This section outlines functions that may be of interest to fuzz. They are based on ranking functions that have a lot of complexity but currently exhibit low code coverage. The complexity is calculated based on the function itself as well as the functions called by the given function, i.e. the tree of code that the function triggers.


This is only a minor amount of introspection information available for this project. Please consult the Fuzz Introspector report for more information, e.g. the introspection table of all functions in the target project available here.

Function name Function source file Accumulated cyclomatic complexity Code coverage
FuzzHelper::testWrite() /src/qpdf/fuzz/qpdf_fuzzer.cc 11179 0.0%
FuzzHelper::doWrite(std::__1::shared_ptr<QPDFWriter>) /src/qpdf/fuzz/qpdf_fuzzer.cc 10994 0.0%
QPDFPageObjectHelper::flattenRotation(QPDFAcroFormDocumentHelper*) /src/qpdf/libqpdf/QPDFPageObjectHelper.cc 10642 0.0%
QPDFPageObjectHelper::copyAnnotations(QPDFPageObjectHelper,QPDFMatrixconst&,QPDFAcroFormDocumentHelper*,QPDFAcroFormDocumentHelper*) /src/qpdf/libqpdf/QPDFPageObjectHelper.cc 10381 0.0%
QPDFAcroFormDocumentHelper::fixCopiedAnnotations(QPDFObjectHandle,QPDFObjectHandle,QPDFAcroFormDocumentHelper&,std::__1::set<QPDFObjGen,std::__1::less<QPDFObjGen>,std::__1::allocator<QPDFObjGen>>*) /src/qpdf/libqpdf/QPDFAcroFormDocumentHelper.cc 10353 0.0%
QPDFAcroFormDocumentHelper::transformAnnotations(QPDFObjectHandle,std::__1::vector<QPDFObjectHandle,std::__1::allocator<QPDFObjectHandle>>&,std::__1::vector<QPDFObjectHandle,std::__1::allocator<QPDFObjectHandle>>&,std::__1::set<QPDFObjGen,std::__1::less<QPDFObjGen>,std::__1::allocator<QPDFObjGen>>&,QPDFMatrixconst&,QPDF*,QPDFAcroFormDocumentHelper*) /src/qpdf/libqpdf/QPDFAcroFormDocumentHelper.cc 10208 0.0%
QPDF::showLinearizationData() /src/qpdf/libqpdf/QPDF_linearization.cc 8761 0.0%
QPDF::checkLinearization() /src/qpdf/libqpdf/QPDF_linearization.cc 8680 0.0%
QPDFNameTreeObjectHelper::remove(std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>const&,QPDFObjectHandle*) /src/qpdf/libqpdf/QPDFNameTreeObjectHelper.cc 8305 0.0%
QPDFNumberTreeObjectHelper::remove(longlong,QPDFObjectHandle*) /src/qpdf/libqpdf/QPDFNumberTreeObjectHelper.cc 8208 0.0%