Project: rnp

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 8
Lines of code 66173
Lines covered 25066
Code coverage 37.88%
Code coverage report Report link
Static reachability 22.63%
Fuzz Introspector report Report link (from 2025-03-27)
Fuzzer Code coverage (lines) Latest Report Comments
fuzz_dump 100.0% (avg: 100.0%, max: 100.0%) 2025-03-27
fuzz_keyimport 100.0% (avg: 100.0%, max: 100.0%) 2025-03-27
fuzz_keyring 100.0% (avg: 100.0%, max: 100.0%) 2025-03-27
fuzz_keyring_g10 8.73% (avg: 8.73%, max: 8.74%) 2025-03-27
fuzz_keyring_kbx 100.0% (avg: 100.0%, max: 100.0%) 2025-03-27
fuzz_sigimport 100.0% (avg: 100.0%, max: 100.0%) 2025-03-27
fuzz_verify 100.0% (avg: 100.0%, max: 100.0%) 2025-03-27
fuzz_verify_detached 100.0% (avg: 100.0%, max: 100.0%) 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
rnp::Key::unlock(pgp_password_provider_tconst&,pgp_op_t) /src/rnp/src/lib/key.cpp 1904 0.0%
rnp::pgp_decrypt_seckey(rnp::Keyconst&,pgp_password_provider_tconst&,pgp_password_ctx_tconst&) /src/rnp/src/lib/key.cpp 1846 0.0%
rnp::KeyStore::import_signature(rnp::Key&,pgp_signature_tconst&) /src/rnp/src/librekey/rnp_key_store.cpp 1783 0.0%
rnp::KeyStore::import_subkey_signature(rnp::Key&,pgp_signature_tconst&) /src/rnp/src/librekey/rnp_key_store.cpp 1737 0.0%
g10_decrypt_seckey(rnp::RawPacketconst&,pgp_key_pkt_tconst&,charconst*) /src/rnp/src/librekey/key_store_g10.cpp 1340 0.0%
rnp::KeyStore::add_key_sig(pgp_fingerprint_tconst&,pgp_signature_tconst&,pgp_userid_pkt_tconst*,bool) /src/rnp/src/librekey/rnp_key_store.cpp 1115 0.0%
rnp::Key::sign_subkey_binding(rnp::Key&,pgp_signature_t&,rnp::SecurityContext&,bool) /src/rnp/src/lib/key.cpp 687 0.0%
rnp::KeyStore::write() /src/rnp/src/librekey/rnp_key_store.cpp 660 0.0%
rnp::pgp_decrypt_seckey_pgp(rnp::RawPacketconst&,pgp_key_pkt_tconst&,charconst*) /src/rnp/src/lib/key.cpp 583 0.0%
rnp::KeyStore::write_kbx(pgp_dest_t&) /src/rnp/src/librekey/key_store_kbx.cpp 520 0.0%