Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzzer details

Fuzzer: fuzz_import

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 9649 82.8%
gold [1:9] 561 4.81%
yellow [10:29] 346 2.97%
greenyellow [30:49] 108 0.92%
lawngreen 50+ 978 8.40%
All colors 11642 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
162055 167232 20 :

['trust_model_string', 'add_key_hash_table', 'keyid_from_pk', 'gcry_xstrdup', 'mark_keyblock_seen', 'release_kbnode', 'new_key_item', 'update_min_ownertrust', 'tdb_get_ownertrust', 'dump_key_array', 'update_validity', 'test_key_hash_table', 'tdb_get_min_ownertrust', 'validate_key_list', 'get_pubkeyblock', 'trust_value_to_string', 'gpgrt_log_debug', 'ask_ownertrust', 'store_validation_status', 'keystr']

165704 190468 validate_keys call site /src/gnupg/g10/trustdb.c:2167
37568 121975 19 :

['keydb_new', 'gpgrt_log_info', 'gpg_error_from_syserror.1524', 'get_ownertrust', 'insert_kbnode', 'gpg_strerror', 'gpg_err_code.1545', 'fingerprint_from_pk', 'get_user_id_native', 'keydb_search_fpr', 'revalidation_mark', 'clone_kbnode', 'keydb_update_keyblock', 'keydb_get_keyblock', 'gcry_free', 'cmp_signatures', 'check_key_signature', 'clear_ownertrusts', 'keydb_get_resource_name']

56386 155459 import_revoke_cert call site /src/gnupg/g10/import.c:3523
25191 25191 3 :

['show_basic_key_info', 'print_import_check', 'cpr_get_answer_is_yes']

205522 693377 import_one_real call site /src/gnupg/g10/import.c:2009
21412 40191 3 :

['merge_keys_and_selfsig', 'clean_all_uids', 'clean_all_subkeys']

43228 212862 import_one_real call site /src/gnupg/g10/import.c:2192
21412 40191 3 :

['merge_keys_and_selfsig', 'clean_all_uids', 'clean_all_subkeys']

27492 215624 import_one_real call site /src/gnupg/g10/import.c:2288
21248 26665 6 :

['do_transfer', 'gpg_error_from_syserror.1524', 'memcmp', 'fingerprint_from_pk', '_gpgrt_log_assert', 'gcry_calloc']

21248 27981 import_matching_seckeys call site /src/gnupg/g10/import.c:3018
19607 20428 3 :

['_gpgrt_get_std_stream', 'gpgrt_fflush', 'list_keyblock_direct']

95454 469904 import_one_real call site /src/gnupg/g10/import.c:2129
18881 18881 1 :

['locate_one']

18881 18881 public_key_list call site /src/gnupg/g10/keylist.c:198
18809 18809 1 :

['list_one']

18809 18809 public_key_list call site /src/gnupg/g10/keylist.c:200
18789 18789 1 :

['apply_drop_sig_filter']

114248 493301 import_one_real call site /src/gnupg/g10/import.c:2104
18786 27826 3 :

['_gpgrt_get_std_stream', 'make_timestamp', 'read_trust_options']

56476 103107 public_key_list call site /src/gnupg/g10/keylist.c:148
18785 18785 1 :

['apply_keep_uid_filter']

133033 513296 import_one_real call site /src/gnupg/g10/import.c:2098

Runtime coverage analysis

Covered functions
863
Functions that are reachable but not covered
1472
Reachable functions
2210
Percentage of reachable functions covered
33.39%
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/gnupg/tests/fuzz/fuzz_import.c 6
/src/gnupg/common/homedir.c 15
/src/libgcrypt/src/visibility.c 65
/src/libgcrypt/src/global.c 30
/src/libgcrypt/src/secmem.c 24
/src/libgcrypt/src/stdmem.c 4
/src/libgpg-error/src/visibility.c 61
/src/libgpg-error/src/init.c 8
/src/libgpg-error/src/posix-lock.c 5
/src/libgpg-error/src/syscall-clamp.c 3
/src/libgpg-error/src/code-from-errno.c 2
/src/libgcrypt/src/misc.c 18
/src/libgcrypt/src/fips.c 22
/src/libgpg-error/src/strerror.c 1
/src/libgpg-error/src/./gpg-error.h 2
/src/libgpg-error/src/code-to-errno.c 1
/src/libgpg-error/src/./err-codes.h 1
/src/gnupg/common/stringhelp.c 36
/src/gnupg/common/./../common/logging.h 1
/src/libgpg-error/src/logging.c 19
/src/libgpg-error/src/estream.c 71
/src/libgpg-error/src/estream-printf.c 17
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
/src/libgpg-error/src/sysutils.c 5
/src/gnupg/common/sysutils.c 14
/src/gnupg/g10/keydb.c 28
/usr/local/include/gpg-error.h 6
/src/gnupg/g10/openfile.c 1
/src/gnupg/common/dotlock.c 12
/usr/include/x86_64-linux-gnu/sys/stat.h 2
/usr/include/stdlib.h 1
/src/gnupg/kbx/keybox-util.c 1
/src/gnupg/g10/misc.c 39
/src/gnupg/common/iobuf.c 47
/src/gnupg/kbx/keybox-file.c 3
/src/gnupg/g10/keyring.c 25
/src/gnupg/g10/./../common/../common/logging.h 1
/src/gnupg/common/mischelp.c 2
/src/gnupg/kbx/keybox-init.c 8
/src/gnupg/kbx/keybox-update.c 6
/src/gnupg/kbx/keybox-blob.c 23
/src/gnupg/kbx/./../common/host2net.h 5
/src/gnupg/common/gettime.c 10
/src/gnupg/kbx/keybox-search.c 28
/src/gnupg/common/signal.c 3
/src/gnupg/g10/cpr.c 21
/src/gnupg/common/status.c 2
/src/libgcrypt/random/random.c 16
/src/libgcrypt/random/random-csprng.c 20
/src/libgcrypt/random/random-drbg.c 28
/src/libgcrypt/random/rndgetentropy.c 1
/src/libgcrypt/random/./rndjent.c 7
/src/libgcrypt/random/./jitterentropy-base.c 15
/src/libgcrypt/random/./jitterentropy-timer.h 8
/src/libgcrypt/random/./jitterentropy-base-user.h 6
/src/libgcrypt/src/hwfeatures.c 5
/src/libgcrypt/random/./jitterentropy-sha3.c 16
/src/libgcrypt/random/./../cipher/bithelp.h 1
/src/libgcrypt/random/./jitterentropy-gcd.c 8
/src/libgcrypt/random/./jitterentropy-noise.c 7
/src/libgcrypt/random/./jitterentropy-health.h 1
/src/libgcrypt/random/./jitterentropy-health.c 11
/src/libgcrypt/cipher/md.c 35
/src/libgcrypt/cipher/../src/gcrypt.h 2
/src/libgcrypt/cipher/sha1.c 10
/src/libgcrypt/cipher/sha1-intel-shaext.c 1
/src/libgcrypt/cipher/hash-common.c 1
/src/libgcrypt/cipher/./bufhelp.h 9
/src/libgcrypt/random/rndhw.c 5
/src/libgcrypt/src/hwf-x86.c 4
/src/libgcrypt/cipher/cipher.c 26
/src/libgcrypt/cipher/mac.c 3
/src/libgcrypt/cipher/pubkey.c 15
/src/libgcrypt/cipher/primegen.c 1
/src/libgcrypt/mpi/mpiutil.c 22
/src/libgcrypt/cipher/kdf.c 6
/src/libgcrypt/cipher/blake2.c 10
/src/libgcrypt/cipher/scrypt.c 4
/src/libgcrypt/random/random-system.c 8
/src/gnupg/g10/trustdb.c 46
/src/gnupg/g10/keylist.c 33
/src/gnupg/g10/tdbio.c 24
/src/gnupg/g10/./../common/host2net.h 3
/src/gnupg/g10/getkey.c 49
/src/gnupg/g10/call-keyboxd.c 13
/src/gnupg/common/asshelp.c 11
/src/libassuan/src/assuan.c 6
/src/libgpg-error/src/strsource.c 1
/src/libgpg-error/src/./err-sources.h 1
/src/libassuan/src/debug.c 1
/src/libassuan/src/system.c 11
/src/libassuan/src/./assuan-defs.h 1
/src/gnupg/common/zb32.c 1
/src/libassuan/src/assuan-socket-connect.c 3
/src/libassuan/src/assuan-socket.c 8
/src/libassuan/src/system-posix.c 8
/src/libassuan/src/assuan-uds.c 5
/src/libassuan/src/client.c 4
/src/libassuan/src/assuan-buffer.c 9
/src/libassuan/src/assuan-logging.c 1
/src/libassuan/src/assuan-error.c 1
/src/libassuan/src/conversion.c 2
/src/gnupg/common/exechelp-posix.c 11
/src/gnupg/common/session-env.c 3
/src/libgpg-error/src/argparse.c 2
/src/gnupg/common/membuf.c 6
/src/gnupg/common/xasprintf.c 2
/src/gnupg/kbx/kbx-client-util.c 8
/src/libassuan/src/context.c 1
/src/npth/src/npth.c 6
/src/gnupg/g10/keyid.c 36
/src/gnupg/common/convert.c 4
/src/gnupg/g10/parse-packet.c 44
/src/libgcrypt/mpi/mpicoder.c 10
/src/libgcrypt/mpi/./../cipher/bufhelp.h 8
/src/libgcrypt/mpi/mpi-bit.c 3
/src/libgcrypt/mpi/mpi-add.c 1
/src/libgcrypt/mpi/./mpi-inline.h 3
/src/libgcrypt/mpi/mpi-cmp.c 3
/src/libgcrypt/mpi/./../cipher/bithelp.h 1
/src/gnupg/common/openpgp-oid.c 13
/src/gnupg/common/sexputil.c 6
/src/libgcrypt/src/sexp.c 30
/src/gnupg/common/strlist.c 5
/src/gnupg/common/miscellaneous.c 7
/src/gnupg/common/utf8conv.c 6
/src/gnupg/common/mbox-util.c 9
/src/gnupg/g10/photoid.c 11
/src/gnupg/g10/free-packet.c 22
/src/libgpg-error/src/b64dec.c 3
/src/gnupg/kbx/./keybox-defs.h 1
/src/gnupg/kbx/keybox-openpgp.c 5
/src/gnupg/g10/kbnode.c 17
/src/gnupg/common/init.c 1
/src/gnupg/g10/call-agent.c 34
/src/gnupg/common/agent-opt.c 2
/src/gnupg/common/percent.c 5
/src/gnupg/g10/sig-check.c 13
/src/libgcrypt/compat/compat.c 1
/src/gnupg/common/compliance.c 9
/src/gnupg/g10/mainproc.c 2
/src/gnupg/g10/objcache.c 15
/src/gnupg/g10/seskey.c 2
/src/gnupg/g10/pkglue.c 4
/src/gnupg/g10/armor.c 18
/src/gnupg/g10/./keydb.h 2
/src/gnupg/g10/trust.c 16
/src/gnupg/g10/keyserver.c 16
/src/gnupg/g10/import.c 50
/src/gnupg/g10/call-dirmngr.c 13
/src/gnupg/g10/compress.c 1
/src/gnupg/common/ttyio.c 11
/src/gnupg/g10/keyedit.c 51
/src/gnupg/g10/helptext.c 2
/src/gnupg/common/helpfile.c 3
/src/gnupg/common/localename.c 2
/src/gnupg/common/yesno.c 2
/src/gnupg/g10/key-clean.c 8
/src/gnupg/g10/key-check.c 4
/src/gnupg/g10/build-packet.c 36
/src/gnupg/common/recsel.c 7
/src/gnupg/g10/rmd160.c 5
/src/gnupg/common/pkscreening.c 3
/src/gnupg/g10/pkclist.c 2
/src/gnupg/g10/server.c 1
/src/libassuan/src/assuan-inquire.c 5
/src/gnupg/g10/passphrase.c 4
/src/gnupg/g10/export.c 2
/src/libgcrypt/cipher/cipher-ctr.c 2
/src/libgcrypt/cipher/././cipher-internal.h 7
/src/libgcrypt/cipher/cipher-ocb.c 12
/src/libgcrypt/cipher/./bithelp.h 1
/src/libgcrypt/cipher/cipher-xts.c 5
/src/libgcrypt/cipher/cipher-gcm-siv.c 14
/src/libgcrypt/cipher/cipher-cmac.c 8
/src/libgcrypt/cipher/./cipher-internal.h 2
/src/libgcrypt/cipher/cipher-eax.c 1
/src/libgcrypt/cipher/cipher-gcm.c 9
/src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c 9
/src/libgcrypt/cipher/cipher-poly1305.c 1
/src/libgcrypt/cipher/cipher-siv.c 1
/src/libgcrypt/src/./gcrypt.h 2
/src/gnupg/common/i18n.c 2
/src/gnupg/common/userids.c 1
/src/gnupg/g10/expand-group.c 2
/src/gnupg/g10/skclist.c 5
/src/gnupg/g10/keygen.c 55
/src/gnupg/g10/sign.c 8
/src/gnupg/g10/revoke.c 3
/src/gnupg/g10/ecdh.c 1
/src/gnupg/g10/card-util.c 9

Fuzzer: fuzz_decrypt

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 10501 82.6%
gold [1:9] 332 2.61%
yellow [10:29] 17 0.13%
greenyellow [30:49] 20 0.15%
lawngreen 50+ 1841 14.4%
All colors 12711 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
125410 149373 30 :

['hexfingerprint', 'is_status_enabled', 'print_good_bad_signature', 'gpgrt_log_info', 'gnupg_digest_is_compliant', 'asctimestamp', 'gpg_error.4478', 'write_status_strings', 'show_photos', 'check_signatures_trust', 'gnupg_pk_is_compliant', 'get_matching_datafile', 'gnupg_compliance_option_string', 'gcry_md_algo_name', 'nbits_from_pk', 'pubkey_string', 'gnupg_gcrypt_is_compliant', 'show_notation', 'trust_value_to_string', '_gpgrt_log_assert', 'cmp_public_keys', 'g10_exit', 'gnupg_status_compliance_flag', 'show_keyserver_url', 'get_validity', 'utf8_to_native', 'dump_attribs', 'show_policy_url', 'strtimestamp', 'get_pubkeyblock_for_sig']

125434 155873 check_sig_and_print call site /src/gnupg/g10/mainproc.c:2192
39207 44703 6 :

['get_validity_info', 'nbits_from_pk', 'keyid_from_pk', 'colon_strtime', 'get_ownertrust_info', 'colon_datestr_from_pk']

39207 113309 list_node call site /src/gnupg/g10/mainproc.c:1321
22648 27217 9 :

['gpgrt_log_info', 'gpg_err_code.4446', 'gpgrt_log_debug', 'write_status_text', 'gpgrt_log_fatal', 'symkey_decrypt_seskey', 'gcry_free', 'passphrase_clear_cache', 'gpg_strerror']

22648 28748 proc_symkey_enc call site /src/gnupg/g10/mainproc.c:433
20697 20697 1 :

['decrypt_data']

41372 80480 proc_encrypted call site /src/gnupg/g10/mainproc.c:775
20417 22379 5 :

['gpgrt_log_bug', 'gcry_md_ctl', 'iobuf_writestr', 'get_afx_crc', 'iobuf_writebyte']

20421 25159 armor_filter call site /src/gnupg/g10/armor.c:1500
18881 18881 1 :

['locate_one']

18881 18881 public_key_list call site /src/gnupg/g10/keylist.c:198
18809 18809 1 :

['list_one']

18809 18809 public_key_list call site /src/gnupg/g10/keylist.c:200
18786 27826 3 :

['_gpgrt_get_std_stream', 'make_timestamp', 'read_trust_options']

56476 103107 public_key_list call site /src/gnupg/g10/keylist.c:148
18783 19606 2 :

['gpgrt_log_debug', 'passphrase_clear_cache']

19619 31739 proc_encrypted call site /src/gnupg/g10/mainproc.c:864
9594 11397 10 :

['_gcry_sexp_nth_mpi', '_gcry_rsa_pkcs1_encode_for_sig', '_gcry_sexp_length', '_gcry_md_get_algo_dlen', 'strtoul', '_gcry_rsa_pkcs1_encode_raw_for_sig', '_gcry_rsa_pkcs1_encode_for_enc', '_gcry_md_hash_buffer', '_gcry_rsa_pss_encode', '_gcry_rsa_oaep_encode']

9594 26488 _gcry_pk_util_data_to_mpi call site /src/libgcrypt/cipher/pubkey-util.c:733
8039 8039 6 :

['iobuf_write', 'gpg_error_from_syserror.8769', 'bug_at.8807', 'strerror', '__errno_location', 'iobuf_writebyte']

8039 9901 block_filter call site /src/gnupg/common/iobuf.c:1055
8034 9006 8 :

['percent_plus_escape', 'assuan_transact', 'get_membuf', 'gpg_error.2554', 'init_membuf_secure', 'put_membuf', 'gpg_error_from_syserror.2553', 'gcry_free']

8034 9006 agent_get_passphrase call site /src/gnupg/g10/call-agent.c:1976

Runtime coverage analysis

Covered functions
943
Functions that are reachable but not covered
1591
Reachable functions
2364
Percentage of reachable functions covered
32.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/gnupg/tests/fuzz/fuzz_decrypt.c 6
/src/gnupg/common/homedir.c 15
/src/libgcrypt/src/visibility.c 74
/src/libgcrypt/src/global.c 30
/src/libgcrypt/src/secmem.c 24
/src/libgcrypt/src/stdmem.c 4
/src/libgpg-error/src/visibility.c 61
/src/libgpg-error/src/init.c 8
/src/libgpg-error/src/posix-lock.c 5
/src/libgpg-error/src/syscall-clamp.c 3
/src/libgpg-error/src/code-from-errno.c 2
/src/libgcrypt/src/misc.c 18
/src/libgcrypt/src/fips.c 22
/src/libgpg-error/src/strerror.c 1
/src/libgpg-error/src/./gpg-error.h 2
/src/libgpg-error/src/code-to-errno.c 1
/src/libgpg-error/src/./err-codes.h 1
/src/gnupg/common/stringhelp.c 38
/src/gnupg/common/./../common/logging.h 1
/src/libgpg-error/src/logging.c 19
/src/libgpg-error/src/estream.c 72
/src/libgpg-error/src/estream-printf.c 17
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
/src/libgpg-error/src/sysutils.c 5
/src/gnupg/common/sysutils.c 14
/src/gnupg/g10/keydb.c 28
/usr/local/include/gpg-error.h 6
/src/gnupg/g10/openfile.c 6
/src/gnupg/common/dotlock.c 12
/usr/include/x86_64-linux-gnu/sys/stat.h 2
/usr/include/stdlib.h 1
/src/gnupg/kbx/keybox-util.c 1
/src/gnupg/g10/misc.c 41
/src/gnupg/common/iobuf.c 51
/src/gnupg/kbx/keybox-file.c 3
/src/gnupg/g10/keyring.c 25
/src/gnupg/g10/./../common/../common/logging.h 1
/src/gnupg/common/mischelp.c 2
/src/gnupg/kbx/keybox-init.c 8
/src/gnupg/kbx/keybox-update.c 6
/src/gnupg/kbx/keybox-blob.c 23
/src/gnupg/kbx/./../common/host2net.h 5
/src/gnupg/common/gettime.c 10
/src/gnupg/kbx/keybox-search.c 28
/src/gnupg/common/signal.c 3
/src/gnupg/g10/cpr.c 22
/src/gnupg/common/status.c 2
/src/libgcrypt/random/random.c 16
/src/libgcrypt/random/random-csprng.c 20
/src/libgcrypt/random/random-drbg.c 28
/src/libgcrypt/random/rndgetentropy.c 1
/src/libgcrypt/random/./rndjent.c 7
/src/libgcrypt/random/./jitterentropy-base.c 15
/src/libgcrypt/random/./jitterentropy-timer.h 8
/src/libgcrypt/random/./jitterentropy-base-user.h 6
/src/libgcrypt/src/hwfeatures.c 5
/src/libgcrypt/random/./jitterentropy-sha3.c 16
/src/libgcrypt/random/./../cipher/bithelp.h 1
/src/libgcrypt/random/./jitterentropy-gcd.c 8
/src/libgcrypt/random/./jitterentropy-noise.c 7
/src/libgcrypt/random/./jitterentropy-health.h 1
/src/libgcrypt/random/./jitterentropy-health.c 11
/src/libgcrypt/cipher/md.c 39
/src/libgcrypt/cipher/../src/gcrypt.h 2
/src/libgcrypt/cipher/sha1.c 10
/src/libgcrypt/cipher/sha1-intel-shaext.c 1
/src/libgcrypt/cipher/hash-common.c 1
/src/libgcrypt/cipher/./bufhelp.h 9
/src/libgcrypt/random/rndhw.c 5
/src/libgcrypt/src/hwf-x86.c 4
/src/libgcrypt/cipher/cipher.c 29
/src/libgcrypt/cipher/mac.c 3
/src/libgcrypt/cipher/pubkey.c 15
/src/libgcrypt/cipher/primegen.c 1
/src/libgcrypt/mpi/mpiutil.c 22
/src/libgcrypt/cipher/kdf.c 6
/src/libgcrypt/cipher/blake2.c 10
/src/libgcrypt/cipher/scrypt.c 4
/src/libgcrypt/random/random-system.c 8
/src/gnupg/g10/trustdb.c 46
/src/gnupg/g10/keylist.c 33
/src/gnupg/g10/tdbio.c 24
/src/gnupg/g10/./../common/host2net.h 4
/src/gnupg/g10/getkey.c 51
/src/gnupg/g10/call-keyboxd.c 13
/src/gnupg/common/asshelp.c 11
/src/libassuan/src/assuan.c 6
/src/libgpg-error/src/strsource.c 1
/src/libgpg-error/src/./err-sources.h 1
/src/libassuan/src/debug.c 1
/src/libassuan/src/system.c 11
/src/libassuan/src/./assuan-defs.h 1
/src/gnupg/common/zb32.c 1
/src/libassuan/src/assuan-socket-connect.c 3
/src/libassuan/src/assuan-socket.c 8
/src/libassuan/src/system-posix.c 8
/src/libassuan/src/assuan-uds.c 5
/src/libassuan/src/client.c 4
/src/libassuan/src/assuan-buffer.c 9
/src/libassuan/src/assuan-logging.c 1
/src/libassuan/src/assuan-error.c 1
/src/libassuan/src/conversion.c 2
/src/gnupg/common/exechelp-posix.c 11
/src/gnupg/common/session-env.c 3
/src/libgpg-error/src/argparse.c 2
/src/gnupg/common/membuf.c 6
/src/gnupg/common/xasprintf.c 2
/src/gnupg/kbx/kbx-client-util.c 8
/src/libassuan/src/context.c 4
/src/npth/src/npth.c 6
/src/gnupg/g10/keyid.c 36
/src/gnupg/common/convert.c 4
/src/gnupg/g10/parse-packet.c 45
/src/libgcrypt/mpi/mpicoder.c 10
/src/libgcrypt/mpi/./../cipher/bufhelp.h 8
/src/libgcrypt/mpi/mpi-bit.c 3
/src/libgcrypt/mpi/mpi-add.c 1
/src/libgcrypt/mpi/./mpi-inline.h 3
/src/libgcrypt/mpi/mpi-cmp.c 3
/src/libgcrypt/mpi/./../cipher/bithelp.h 1
/src/gnupg/common/openpgp-oid.c 13
/src/gnupg/common/sexputil.c 7
/src/libgcrypt/src/sexp.c 30
/src/gnupg/common/strlist.c 5
/src/gnupg/common/miscellaneous.c 8
/src/gnupg/common/utf8conv.c 6
/src/gnupg/common/mbox-util.c 9
/src/gnupg/g10/photoid.c 11
/src/gnupg/g10/free-packet.c 22
/src/libgpg-error/src/b64dec.c 3
/src/gnupg/kbx/./keybox-defs.h 1
/src/gnupg/kbx/keybox-openpgp.c 5
/src/gnupg/g10/kbnode.c 17
/src/gnupg/common/init.c 1
/src/gnupg/g10/call-agent.c 40
/src/gnupg/common/agent-opt.c 2
/src/gnupg/common/percent.c 5
/src/gnupg/g10/sig-check.c 13
/src/libgcrypt/compat/compat.c 1
/src/gnupg/common/compliance.c 12
/src/gnupg/g10/mainproc.c 33
/src/gnupg/g10/objcache.c 15
/src/gnupg/g10/seskey.c 2
/src/gnupg/g10/pkglue.c 4
/src/gnupg/g10/armor.c 19
/src/gnupg/g10/./keydb.h 2
/src/gnupg/g10/trust.c 16
/src/gnupg/g10/keyserver.c 17
/src/gnupg/g10/import.c 50
/src/gnupg/g10/call-dirmngr.c 13
/src/gnupg/g10/compress.c 4
/src/gnupg/common/ttyio.c 11
/src/gnupg/g10/keyedit.c 51
/src/gnupg/g10/helptext.c 2
/src/gnupg/common/helpfile.c 3
/src/gnupg/common/localename.c 2
/src/gnupg/common/yesno.c 2
/src/gnupg/g10/key-clean.c 8
/src/gnupg/g10/key-check.c 4
/src/gnupg/g10/build-packet.c 36
/src/gnupg/common/recsel.c 7
/src/gnupg/g10/rmd160.c 5
/src/gnupg/common/pkscreening.c 3
/src/gnupg/g10/pkclist.c 7
/src/gnupg/g10/server.c 1
/src/libassuan/src/assuan-inquire.c 5
/src/gnupg/g10/passphrase.c 9
/src/gnupg/g10/export.c 2
/src/libgcrypt/cipher/cipher-ctr.c 2
/src/libgcrypt/cipher/././cipher-internal.h 7
/src/libgcrypt/cipher/cipher-ocb.c 12
/src/libgcrypt/cipher/./bithelp.h 1
/src/libgcrypt/cipher/cipher-xts.c 5
/src/libgcrypt/cipher/cipher-gcm-siv.c 14
/src/libgcrypt/cipher/cipher-cmac.c 8
/src/libgcrypt/cipher/./cipher-internal.h 2
/src/libgcrypt/cipher/cipher-eax.c 1
/src/libgcrypt/cipher/cipher-gcm.c 9
/src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c 9
/src/libgcrypt/cipher/cipher-poly1305.c 1
/src/libgcrypt/cipher/cipher-siv.c 1
/src/libgcrypt/src/./gcrypt.h 2
/src/gnupg/common/i18n.c 2
/src/gnupg/common/userids.c 1
/src/gnupg/g10/expand-group.c 2
/src/gnupg/g10/skclist.c 6
/src/gnupg/g10/keygen.c 55
/src/gnupg/g10/sign.c 8
/src/gnupg/g10/revoke.c 3
/src/gnupg/g10/ecdh.c 6
/src/gnupg/g10/card-util.c 9
/src/gnupg/g10/decrypt.c 2
/src/gnupg/g10/progress.c 5
/src/gnupg/g10/verify.c 1
/src/gnupg/g10/pubkey-enc.c 4
/src/gnupg/common/openpgp-s2k.c 1
/src/gnupg/g10/decrypt-data.c 2
/src/gnupg/common/mapstrings.c 1
/src/gnupg/g10/plaintext.c 6
/src/gnupg/g10/mdfilter.c 1
/src/gnupg/g10/textfilter.c 2

Fuzzer: fuzz_verify

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 11182 87.9%
gold [1:9] 328 2.58%
yellow [10:29] 10 0.07%
greenyellow [30:49] 8 0.06%
lawngreen 50+ 1179 9.27%
All colors 12707 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
139419 149373 30 :

['hexfingerprint', 'is_status_enabled', 'print_good_bad_signature', 'gpgrt_log_info', 'gnupg_digest_is_compliant', 'asctimestamp', 'gpg_error.4478', 'write_status_strings', 'show_photos', 'check_signatures_trust', 'gnupg_pk_is_compliant', 'get_matching_datafile', 'gnupg_compliance_option_string', 'gcry_md_algo_name', 'nbits_from_pk', 'pubkey_string', 'gnupg_gcrypt_is_compliant', 'show_notation', 'trust_value_to_string', '_gpgrt_log_assert', 'cmp_public_keys', 'g10_exit', 'gnupg_status_compliance_flag', 'show_keyserver_url', 'get_validity', 'utf8_to_native', 'dump_attribs', 'show_policy_url', 'strtimestamp', 'get_pubkeyblock_for_sig']

139443 155873 check_sig_and_print call site /src/gnupg/g10/mainproc.c:2192
37700 37700 2 :

['list_node', 'merge_keys_and_selfsig']

37700 37700 proc_tree call site /src/gnupg/g10/mainproc.c:2600
20632 20632 1 :

['proc_signature_packets_by_fd']

20632 20632 proc_compressed_cb call site /src/gnupg/g10/mainproc.c:1095
20626 20626 1 :

['proc_packets']

20626 20626 handle_compressed call site /src/gnupg/g10/compress.c:327
20417 22379 5 :

['gpgrt_log_bug', 'gcry_md_ctl', 'iobuf_writestr', 'get_afx_crc', 'iobuf_writebyte']

20421 25159 armor_filter call site /src/gnupg/g10/armor.c:1500
18881 18881 1 :

['locate_one']

18881 18881 public_key_list call site /src/gnupg/g10/keylist.c:198
18809 18809 1 :

['list_one']

18809 18809 public_key_list call site /src/gnupg/g10/keylist.c:200
18786 27826 3 :

['_gpgrt_get_std_stream', 'make_timestamp', 'read_trust_options']

56476 103107 public_key_list call site /src/gnupg/g10/keylist.c:148
18777 18777 1 :

['check_key_signature']

18777 18777 do_check_sig call site /src/gnupg/g10/mainproc.c:1221
12134 14603 5 :

['dcgettext', 'gpgrt_log_info', 'keystr_from_pk', 'check_key_verify_compliance', 'check_signature_end']

16596 23522 check_signature2 call site /src/gnupg/g10/sig-check.c:202
8039 8039 6 :

['iobuf_write', 'gpg_error_from_syserror.8769', 'bug_at.8807', 'strerror', '__errno_location', 'iobuf_writebyte']

8039 9901 block_filter call site /src/gnupg/common/iobuf.c:1055
6091 9953 11 :

['kbx_client_data_cmd', 'kbx_client_data_simple', 'kbx_client_data_wait', 'iobuf_close', 'gpgrt_log_debug', 'bin2hex', 'gpg_error', 'gpgrt_log_printhex', '_gpgrt_log_assert', 'gcry_free', 'iobuf_temp_with_content']

6914 10776 keydb_search call site /src/gnupg/g10/call-keyboxd.c:704

Runtime coverage analysis

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

Files reached

filename functions hit
/src/gnupg/tests/fuzz/fuzz_verify.c 6
/src/gnupg/common/homedir.c 15
/src/libgcrypt/src/visibility.c 74
/src/libgcrypt/src/global.c 30
/src/libgcrypt/src/secmem.c 24
/src/libgcrypt/src/stdmem.c 4
/src/libgpg-error/src/visibility.c 61
/src/libgpg-error/src/init.c 8
/src/libgpg-error/src/posix-lock.c 5
/src/libgpg-error/src/syscall-clamp.c 3
/src/libgpg-error/src/code-from-errno.c 2
/src/libgcrypt/src/misc.c 18
/src/libgcrypt/src/fips.c 22
/src/libgpg-error/src/strerror.c 1
/src/libgpg-error/src/./gpg-error.h 2
/src/libgpg-error/src/code-to-errno.c 1
/src/libgpg-error/src/./err-codes.h 1
/src/gnupg/common/stringhelp.c 38
/src/gnupg/common/./../common/logging.h 1
/src/libgpg-error/src/logging.c 19
/src/libgpg-error/src/estream.c 72
/src/libgpg-error/src/estream-printf.c 17
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
/src/libgpg-error/src/sysutils.c 5
/src/gnupg/common/sysutils.c 14
/src/gnupg/g10/keydb.c 28
/usr/local/include/gpg-error.h 6
/src/gnupg/g10/openfile.c 6
/src/gnupg/common/dotlock.c 12
/usr/include/x86_64-linux-gnu/sys/stat.h 2
/usr/include/stdlib.h 1
/src/gnupg/kbx/keybox-util.c 1
/src/gnupg/g10/misc.c 41
/src/gnupg/common/iobuf.c 51
/src/gnupg/kbx/keybox-file.c 3
/src/gnupg/g10/keyring.c 25
/src/gnupg/g10/./../common/../common/logging.h 1
/src/gnupg/common/mischelp.c 2
/src/gnupg/kbx/keybox-init.c 8
/src/gnupg/kbx/keybox-update.c 6
/src/gnupg/kbx/keybox-blob.c 23
/src/gnupg/kbx/./../common/host2net.h 5
/src/gnupg/common/gettime.c 10
/src/gnupg/kbx/keybox-search.c 28
/src/gnupg/common/signal.c 3
/src/gnupg/g10/cpr.c 22
/src/gnupg/common/status.c 2
/src/libgcrypt/random/random.c 16
/src/libgcrypt/random/random-csprng.c 20
/src/libgcrypt/random/random-drbg.c 28
/src/libgcrypt/random/rndgetentropy.c 1
/src/libgcrypt/random/./rndjent.c 7
/src/libgcrypt/random/./jitterentropy-base.c 15
/src/libgcrypt/random/./jitterentropy-timer.h 8
/src/libgcrypt/random/./jitterentropy-base-user.h 6
/src/libgcrypt/src/hwfeatures.c 5
/src/libgcrypt/random/./jitterentropy-sha3.c 16
/src/libgcrypt/random/./../cipher/bithelp.h 1
/src/libgcrypt/random/./jitterentropy-gcd.c 8
/src/libgcrypt/random/./jitterentropy-noise.c 7
/src/libgcrypt/random/./jitterentropy-health.h 1
/src/libgcrypt/random/./jitterentropy-health.c 11
/src/libgcrypt/cipher/md.c 39
/src/libgcrypt/cipher/../src/gcrypt.h 2
/src/libgcrypt/cipher/sha1.c 10
/src/libgcrypt/cipher/sha1-intel-shaext.c 1
/src/libgcrypt/cipher/hash-common.c 1
/src/libgcrypt/cipher/./bufhelp.h 9
/src/libgcrypt/random/rndhw.c 5
/src/libgcrypt/src/hwf-x86.c 4
/src/libgcrypt/cipher/cipher.c 29
/src/libgcrypt/cipher/mac.c 3
/src/libgcrypt/cipher/pubkey.c 15
/src/libgcrypt/cipher/primegen.c 1
/src/libgcrypt/mpi/mpiutil.c 22
/src/libgcrypt/cipher/kdf.c 6
/src/libgcrypt/cipher/blake2.c 10
/src/libgcrypt/cipher/scrypt.c 4
/src/libgcrypt/random/random-system.c 8
/src/gnupg/g10/trustdb.c 46
/src/gnupg/g10/keylist.c 33
/src/gnupg/g10/tdbio.c 24
/src/gnupg/g10/./../common/host2net.h 4
/src/gnupg/g10/getkey.c 51
/src/gnupg/g10/call-keyboxd.c 13
/src/gnupg/common/asshelp.c 11
/src/libassuan/src/assuan.c 6
/src/libgpg-error/src/strsource.c 1
/src/libgpg-error/src/./err-sources.h 1
/src/libassuan/src/debug.c 1
/src/libassuan/src/system.c 11
/src/libassuan/src/./assuan-defs.h 1
/src/gnupg/common/zb32.c 1
/src/libassuan/src/assuan-socket-connect.c 3
/src/libassuan/src/assuan-socket.c 8
/src/libassuan/src/system-posix.c 8
/src/libassuan/src/assuan-uds.c 5
/src/libassuan/src/client.c 4
/src/libassuan/src/assuan-buffer.c 9
/src/libassuan/src/assuan-logging.c 1
/src/libassuan/src/assuan-error.c 1
/src/libassuan/src/conversion.c 2
/src/gnupg/common/exechelp-posix.c 11
/src/gnupg/common/session-env.c 3
/src/libgpg-error/src/argparse.c 2
/src/gnupg/common/membuf.c 6
/src/gnupg/common/xasprintf.c 2
/src/gnupg/kbx/kbx-client-util.c 8
/src/libassuan/src/context.c 4
/src/npth/src/npth.c 6
/src/gnupg/g10/keyid.c 36
/src/gnupg/common/convert.c 4
/src/gnupg/g10/parse-packet.c 45
/src/libgcrypt/mpi/mpicoder.c 10
/src/libgcrypt/mpi/./../cipher/bufhelp.h 8
/src/libgcrypt/mpi/mpi-bit.c 3
/src/libgcrypt/mpi/mpi-add.c 1
/src/libgcrypt/mpi/./mpi-inline.h 3
/src/libgcrypt/mpi/mpi-cmp.c 3
/src/libgcrypt/mpi/./../cipher/bithelp.h 1
/src/gnupg/common/openpgp-oid.c 13
/src/gnupg/common/sexputil.c 7
/src/libgcrypt/src/sexp.c 30
/src/gnupg/common/strlist.c 5
/src/gnupg/common/miscellaneous.c 8
/src/gnupg/common/utf8conv.c 6
/src/gnupg/common/mbox-util.c 9
/src/gnupg/g10/photoid.c 11
/src/gnupg/g10/free-packet.c 22
/src/libgpg-error/src/b64dec.c 3
/src/gnupg/kbx/./keybox-defs.h 1
/src/gnupg/kbx/keybox-openpgp.c 5
/src/gnupg/g10/kbnode.c 17
/src/gnupg/common/init.c 1
/src/gnupg/g10/call-agent.c 40
/src/gnupg/common/agent-opt.c 2
/src/gnupg/common/percent.c 5
/src/gnupg/g10/sig-check.c 13
/src/libgcrypt/compat/compat.c 1
/src/gnupg/common/compliance.c 12
/src/gnupg/g10/mainproc.c 33
/src/gnupg/g10/objcache.c 15
/src/gnupg/g10/seskey.c 2
/src/gnupg/g10/pkglue.c 4
/src/gnupg/g10/armor.c 19
/src/gnupg/g10/./keydb.h 2
/src/gnupg/g10/trust.c 16
/src/gnupg/g10/keyserver.c 17
/src/gnupg/g10/import.c 50
/src/gnupg/g10/call-dirmngr.c 13
/src/gnupg/g10/compress.c 4
/src/gnupg/common/ttyio.c 11
/src/gnupg/g10/keyedit.c 51
/src/gnupg/g10/helptext.c 2
/src/gnupg/common/helpfile.c 3
/src/gnupg/common/localename.c 2
/src/gnupg/common/yesno.c 2
/src/gnupg/g10/key-clean.c 8
/src/gnupg/g10/key-check.c 4
/src/gnupg/g10/build-packet.c 36
/src/gnupg/common/recsel.c 7
/src/gnupg/g10/rmd160.c 5
/src/gnupg/common/pkscreening.c 3
/src/gnupg/g10/pkclist.c 7
/src/gnupg/g10/server.c 1
/src/libassuan/src/assuan-inquire.c 5
/src/gnupg/g10/passphrase.c 7
/src/gnupg/g10/export.c 2
/src/libgcrypt/cipher/cipher-ctr.c 2
/src/libgcrypt/cipher/././cipher-internal.h 7
/src/libgcrypt/cipher/cipher-ocb.c 12
/src/libgcrypt/cipher/./bithelp.h 1
/src/libgcrypt/cipher/cipher-xts.c 5
/src/libgcrypt/cipher/cipher-gcm-siv.c 14
/src/libgcrypt/cipher/cipher-cmac.c 8
/src/libgcrypt/cipher/./cipher-internal.h 2
/src/libgcrypt/cipher/cipher-eax.c 1
/src/libgcrypt/cipher/cipher-gcm.c 9
/src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c 9
/src/libgcrypt/cipher/cipher-poly1305.c 1
/src/libgcrypt/cipher/cipher-siv.c 1
/src/libgcrypt/src/./gcrypt.h 2
/src/gnupg/common/i18n.c 2
/src/gnupg/common/userids.c 1
/src/gnupg/g10/expand-group.c 2
/src/gnupg/g10/skclist.c 6
/src/gnupg/g10/keygen.c 55
/src/gnupg/g10/sign.c 8
/src/gnupg/g10/revoke.c 3
/src/gnupg/g10/ecdh.c 6
/src/gnupg/g10/card-util.c 9
/src/gnupg/g10/verify.c 4
/src/gnupg/g10/progress.c 5
/src/gnupg/g10/pubkey-enc.c 4
/src/gnupg/common/openpgp-s2k.c 1
/src/gnupg/g10/decrypt-data.c 2
/src/gnupg/common/mapstrings.c 1
/src/gnupg/g10/plaintext.c 6
/src/gnupg/g10/mdfilter.c 1
/src/gnupg/g10/textfilter.c 2

Fuzzer: fuzz_list

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 10929 86.2%
gold [1:9] 344 2.71%
yellow [10:29] 11 0.08%
greenyellow [30:49] 12 0.09%
lawngreen 50+ 1378 10.8%
All colors 12674 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
181592 195355 19 :

['iobuf_get_real_fname', 'gpgrt_log_info', 'map_md_openpgp_to_gcry', 'gcry_md_open', 'merge_keys_and_selfsig', 'gcry_md_enable', 'check_sig_and_print', 'openpgp_md_test_algo', 'dcgettext', 'gpg_strerror', 'dump_kbnode', 'hash_datafile_by_fd', 'hash_datafiles', 'list_node', 'ask_for_detached_datafile', 'find_next_kbnode', 'free_md_filter_context', 'gcry_md_debug', 'gpgrt_log_error']

181592 195355 proc_tree call site /src/gnupg/g10/mainproc.c:2578
23471 27217 9 :

['gpgrt_log_info', 'gpg_err_code.4446', 'gpgrt_log_debug', 'write_status_text', 'gpgrt_log_fatal', 'symkey_decrypt_seskey', 'gcry_free', 'passphrase_clear_cache', 'gpg_strerror']

23471 28748 proc_symkey_enc call site /src/gnupg/g10/mainproc.c:433
20697 20697 1 :

['decrypt_data']

42195 80480 proc_encrypted call site /src/gnupg/g10/mainproc.c:775
20417 22379 5 :

['gpgrt_log_bug', 'gcry_md_ctl', 'iobuf_writestr', 'get_afx_crc', 'iobuf_writebyte']

20421 25159 armor_filter call site /src/gnupg/g10/armor.c:1500
19606 19606 2 :

['gpgrt_log_debug', 'passphrase_clear_cache']

20442 31739 proc_encrypted call site /src/gnupg/g10/mainproc.c:864
18881 18881 1 :

['locate_one']

18881 18881 public_key_list call site /src/gnupg/g10/keylist.c:198
18809 18809 1 :

['list_one']

18809 18809 public_key_list call site /src/gnupg/g10/keylist.c:200
18786 27826 3 :

['_gpgrt_get_std_stream', 'make_timestamp', 'read_trust_options']

56476 103107 public_key_list call site /src/gnupg/g10/keylist.c:148
8039 8039 6 :

['iobuf_write', 'gpg_error_from_syserror.8769', 'bug_at.8807', 'strerror', '__errno_location', 'iobuf_writebyte']

8862 9901 block_filter call site /src/gnupg/common/iobuf.c:1055
8034 9006 8 :

['percent_plus_escape', 'assuan_transact', 'get_membuf', 'gpg_error.2554', 'init_membuf_secure', 'put_membuf', 'gpg_error_from_syserror.2553', 'gcry_free']

8034 9006 agent_get_passphrase call site /src/gnupg/g10/call-agent.c:1976
7737 9953 11 :

['kbx_client_data_cmd', 'kbx_client_data_simple', 'kbx_client_data_wait', 'iobuf_close', 'gpgrt_log_debug', 'bin2hex', 'gpg_error', 'gpgrt_log_printhex', '_gpgrt_log_assert', 'gcry_free', 'iobuf_temp_with_content']

8560 10776 keydb_search call site /src/gnupg/g10/call-keyboxd.c:704
7514 7514 3 :

['encode_s2k_iterations', 'agent_get_s2k_count', 'gcry_randomize']

9702 44267 passphrase_to_dek call site /src/gnupg/g10/passphrase.c:311

Runtime coverage analysis

Covered functions
613
Functions that are reachable but not covered
1777
Reachable functions
2359
Percentage of reachable functions covered
24.67%
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/gnupg/tests/fuzz/fuzz_list.c 6
/src/gnupg/common/homedir.c 15
/src/libgcrypt/src/visibility.c 74
/src/libgcrypt/src/global.c 30
/src/libgcrypt/src/secmem.c 24
/src/libgcrypt/src/stdmem.c 4
/src/libgpg-error/src/visibility.c 61
/src/libgpg-error/src/init.c 8
/src/libgpg-error/src/posix-lock.c 5
/src/libgpg-error/src/syscall-clamp.c 3
/src/libgpg-error/src/code-from-errno.c 2
/src/libgcrypt/src/misc.c 18
/src/libgcrypt/src/fips.c 22
/src/libgpg-error/src/strerror.c 1
/src/libgpg-error/src/./gpg-error.h 2
/src/libgpg-error/src/code-to-errno.c 1
/src/libgpg-error/src/./err-codes.h 1
/src/gnupg/common/stringhelp.c 38
/src/gnupg/common/./../common/logging.h 1
/src/libgpg-error/src/logging.c 19
/src/libgpg-error/src/estream.c 72
/src/libgpg-error/src/estream-printf.c 17
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
/src/libgpg-error/src/sysutils.c 5
/src/gnupg/common/sysutils.c 14
/src/gnupg/g10/keydb.c 28
/usr/local/include/gpg-error.h 6
/src/gnupg/g10/openfile.c 6
/src/gnupg/common/dotlock.c 12
/usr/include/x86_64-linux-gnu/sys/stat.h 2
/usr/include/stdlib.h 1
/src/gnupg/kbx/keybox-util.c 1
/src/gnupg/g10/misc.c 41
/src/gnupg/common/iobuf.c 51
/src/gnupg/kbx/keybox-file.c 3
/src/gnupg/g10/keyring.c 25
/src/gnupg/g10/./../common/../common/logging.h 1
/src/gnupg/common/mischelp.c 2
/src/gnupg/kbx/keybox-init.c 8
/src/gnupg/kbx/keybox-update.c 6
/src/gnupg/kbx/keybox-blob.c 23
/src/gnupg/kbx/./../common/host2net.h 5
/src/gnupg/common/gettime.c 10
/src/gnupg/kbx/keybox-search.c 28
/src/gnupg/common/signal.c 3
/src/gnupg/g10/cpr.c 22
/src/gnupg/common/status.c 2
/src/libgcrypt/random/random.c 16
/src/libgcrypt/random/random-csprng.c 20
/src/libgcrypt/random/random-drbg.c 28
/src/libgcrypt/random/rndgetentropy.c 1
/src/libgcrypt/random/./rndjent.c 7
/src/libgcrypt/random/./jitterentropy-base.c 15
/src/libgcrypt/random/./jitterentropy-timer.h 8
/src/libgcrypt/random/./jitterentropy-base-user.h 6
/src/libgcrypt/src/hwfeatures.c 5
/src/libgcrypt/random/./jitterentropy-sha3.c 16
/src/libgcrypt/random/./../cipher/bithelp.h 1
/src/libgcrypt/random/./jitterentropy-gcd.c 8
/src/libgcrypt/random/./jitterentropy-noise.c 7
/src/libgcrypt/random/./jitterentropy-health.h 1
/src/libgcrypt/random/./jitterentropy-health.c 11
/src/libgcrypt/cipher/md.c 39
/src/libgcrypt/cipher/../src/gcrypt.h 2
/src/libgcrypt/cipher/sha1.c 10
/src/libgcrypt/cipher/sha1-intel-shaext.c 1
/src/libgcrypt/cipher/hash-common.c 1
/src/libgcrypt/cipher/./bufhelp.h 9
/src/libgcrypt/random/rndhw.c 5
/src/libgcrypt/src/hwf-x86.c 4
/src/libgcrypt/cipher/cipher.c 29
/src/libgcrypt/cipher/mac.c 3
/src/libgcrypt/cipher/pubkey.c 15
/src/libgcrypt/cipher/primegen.c 1
/src/libgcrypt/mpi/mpiutil.c 22
/src/libgcrypt/cipher/kdf.c 6
/src/libgcrypt/cipher/blake2.c 10
/src/libgcrypt/cipher/scrypt.c 4
/src/libgcrypt/random/random-system.c 8
/src/gnupg/g10/trustdb.c 46
/src/gnupg/g10/keylist.c 33
/src/gnupg/g10/tdbio.c 24
/src/gnupg/g10/./../common/host2net.h 4
/src/gnupg/g10/getkey.c 51
/src/gnupg/g10/call-keyboxd.c 13
/src/gnupg/common/asshelp.c 11
/src/libassuan/src/assuan.c 6
/src/libgpg-error/src/strsource.c 1
/src/libgpg-error/src/./err-sources.h 1
/src/libassuan/src/debug.c 1
/src/libassuan/src/system.c 11
/src/libassuan/src/./assuan-defs.h 1
/src/gnupg/common/zb32.c 1
/src/libassuan/src/assuan-socket-connect.c 3
/src/libassuan/src/assuan-socket.c 8
/src/libassuan/src/system-posix.c 8
/src/libassuan/src/assuan-uds.c 5
/src/libassuan/src/client.c 4
/src/libassuan/src/assuan-buffer.c 9
/src/libassuan/src/assuan-logging.c 1
/src/libassuan/src/assuan-error.c 1
/src/libassuan/src/conversion.c 2
/src/gnupg/common/exechelp-posix.c 11
/src/gnupg/common/session-env.c 3
/src/libgpg-error/src/argparse.c 2
/src/gnupg/common/membuf.c 6
/src/gnupg/common/xasprintf.c 2
/src/gnupg/kbx/kbx-client-util.c 8
/src/libassuan/src/context.c 4
/src/npth/src/npth.c 6
/src/gnupg/g10/keyid.c 36
/src/gnupg/common/convert.c 4
/src/gnupg/g10/parse-packet.c 45
/src/libgcrypt/mpi/mpicoder.c 10
/src/libgcrypt/mpi/./../cipher/bufhelp.h 8
/src/libgcrypt/mpi/mpi-bit.c 3
/src/libgcrypt/mpi/mpi-add.c 1
/src/libgcrypt/mpi/./mpi-inline.h 3
/src/libgcrypt/mpi/mpi-cmp.c 3
/src/libgcrypt/mpi/./../cipher/bithelp.h 1
/src/gnupg/common/openpgp-oid.c 13
/src/gnupg/common/sexputil.c 7
/src/libgcrypt/src/sexp.c 30
/src/gnupg/common/strlist.c 5
/src/gnupg/common/miscellaneous.c 8
/src/gnupg/common/utf8conv.c 6
/src/gnupg/common/mbox-util.c 9
/src/gnupg/g10/photoid.c 11
/src/gnupg/g10/free-packet.c 22
/src/libgpg-error/src/b64dec.c 3
/src/gnupg/kbx/./keybox-defs.h 1
/src/gnupg/kbx/keybox-openpgp.c 5
/src/gnupg/g10/kbnode.c 17
/src/gnupg/common/init.c 1
/src/gnupg/g10/call-agent.c 40
/src/gnupg/common/agent-opt.c 2
/src/gnupg/common/percent.c 5
/src/gnupg/g10/sig-check.c 13
/src/libgcrypt/compat/compat.c 1
/src/gnupg/common/compliance.c 12
/src/gnupg/g10/mainproc.c 32
/src/gnupg/g10/objcache.c 15
/src/gnupg/g10/seskey.c 2
/src/gnupg/g10/pkglue.c 4
/src/gnupg/g10/armor.c 19
/src/gnupg/g10/./keydb.h 2
/src/gnupg/g10/trust.c 16
/src/gnupg/g10/keyserver.c 17
/src/gnupg/g10/import.c 50
/src/gnupg/g10/call-dirmngr.c 13
/src/gnupg/g10/compress.c 4
/src/gnupg/common/ttyio.c 11
/src/gnupg/g10/keyedit.c 51
/src/gnupg/g10/helptext.c 2
/src/gnupg/common/helpfile.c 3
/src/gnupg/common/localename.c 2
/src/gnupg/common/yesno.c 2
/src/gnupg/g10/key-clean.c 8
/src/gnupg/g10/key-check.c 4
/src/gnupg/g10/build-packet.c 36
/src/gnupg/common/recsel.c 7
/src/gnupg/g10/rmd160.c 5
/src/gnupg/common/pkscreening.c 3
/src/gnupg/g10/pkclist.c 7
/src/gnupg/g10/server.c 1
/src/libassuan/src/assuan-inquire.c 5
/src/gnupg/g10/passphrase.c 7
/src/gnupg/g10/export.c 2
/src/libgcrypt/cipher/cipher-ctr.c 2
/src/libgcrypt/cipher/././cipher-internal.h 7
/src/libgcrypt/cipher/cipher-ocb.c 12
/src/libgcrypt/cipher/./bithelp.h 1
/src/libgcrypt/cipher/cipher-xts.c 5
/src/libgcrypt/cipher/cipher-gcm-siv.c 14
/src/libgcrypt/cipher/cipher-cmac.c 8
/src/libgcrypt/cipher/./cipher-internal.h 2
/src/libgcrypt/cipher/cipher-eax.c 1
/src/libgcrypt/cipher/cipher-gcm.c 9
/src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c 9
/src/libgcrypt/cipher/cipher-poly1305.c 1
/src/libgcrypt/cipher/cipher-siv.c 1
/src/libgcrypt/src/./gcrypt.h 2
/src/gnupg/common/i18n.c 2
/src/gnupg/common/userids.c 1
/src/gnupg/g10/expand-group.c 2
/src/gnupg/g10/skclist.c 6
/src/gnupg/g10/keygen.c 55
/src/gnupg/g10/sign.c 8
/src/gnupg/g10/revoke.c 3
/src/gnupg/g10/ecdh.c 6
/src/gnupg/g10/card-util.c 9
/src/gnupg/g10/pubkey-enc.c 4
/src/gnupg/common/openpgp-s2k.c 1
/src/gnupg/g10/decrypt-data.c 2
/src/gnupg/common/mapstrings.c 1
/src/gnupg/g10/plaintext.c 6
/src/gnupg/g10/mdfilter.c 1
/src/gnupg/g10/progress.c 5
/src/gnupg/g10/textfilter.c 2

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
ecc_verify /src/libgcrypt/cipher/ecc.c 3 ['struct.gcry_sexp *', 'struct.gcry_sexp *', 'struct.gcry_sexp *'] 15 0 423 66 29 638 0 4351 1542
sign_file /src/gnupg/g10/sign.c 7 ['struct.server_control_s *', 'struct.string_list *', 'int ', 'struct.string_list *', 'int ', 'struct.string_list *', 'char *'] 194 0 1143 226 83 2328 0 20662 1145
card_edit /src/gnupg/g10/card-util.c 2 ['struct.server_control_s *', 'struct.string_list *'] 203 0 631 129 39 2269 0 20160 857
gpgrt_argparser /src/libgpg-error/src/visibility.c 3 ['struct.gpgrt_argparse_t *', 'struct.gpgrt_opt_t *', 'char *'] 16 0 15 3 2 205 0 1684 587
dsa_generate /src/libgcrypt/cipher/dsa.c 2 ['struct.gcry_sexp *', 'struct.gcry_sexp **'] 15 0 722 111 43 620 0 4218 482
sm4_setkey /src/libgcrypt/cipher/sm4.c 4 ['char *', 'char *', 'int ', 'struct.cipher_bulk_ops *'] 11 0 163 28 11 142 0 596 385
gpg_server /src/gnupg/g10/server.c 1 ['struct.server_control_s *'] 16 0 206 31 13 327 0 1815 233

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

Functions statically reachable by fuzzers
60.57%
2862/4725
Cyclomatic complexity statically reachable by fuzzers
71.3%
26329 / 36927

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 Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

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
start_new_service 177 35 19.77% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
gnupg_initialize_compliance 36 9 25.0% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
dotlock_create 31 17 54.83% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
dotlock_create_unix 119 53 44.53% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
dotlock_take_unix 132 23 17.42% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
read_lockfile 78 38 48.71% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gnupg_socketdir_internal 134 32 23.88% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
iobuf_ioctl 54 24 44.44% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
iobuf_write 61 33 54.09% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
filter_flush 47 25 53.19% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
do_make_filename 135 52 38.51% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
native_to_utf8 72 25 34.72% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
armor_filter 234 116 49.57% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
build_packet 90 39 43.33% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
gpg_mpi_write 59 20 33.89% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
write_header2 47 22 46.80% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
do_key 179 49 27.37% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
start_agent 104 26 25.0% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keydb_new 32 14 43.75% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keydb_get_keyblock 31 13 41.93% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keydb_update_keyblock 32 14 43.75% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keydb_search 147 18 12.24% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
write_status_strings 31 5 16.12% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
get_pubkey_fast 48 18 37.5% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
finish_lookup 195 51 26.15% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
import_print_stats 62 31 50.0% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
import_matching_seckeys 54 16 29.62% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
import_revoke_cert 111 28 25.22% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
import_one_real 385 198 51.42% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
insert_key_origin_pk 34 7 20.58% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
update_key_origin 57 10 17.54% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
revocation_present 63 12 19.04% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
check_prefs 109 14 12.84% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
chk_self_sigs 170 75 44.11% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keydb_add_resource 170 85 50.0% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keydb_locate_writable 44 17 38.63% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
rt_from_file 32 10 31.25% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
maybe_create_keyring_or_box 127 60 47.24% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
lock_all 40 19 47.5% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
format_keyid 35 12 34.28% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keyid_from_fingerprint 36 15 41.66% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
public_key_list 39 9 23.07% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
list_all 80 23 28.74% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
key_table_get 31 17 54.83% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
uid_table_put 67 22 32.83% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
key_table_put 92 41 44.56% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
check_signature_over_key_or_uid 145 75 51.72% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
tdbio_read_record 130 59 45.38% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
put_record_into_cache 120 42 35.0% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
lookup_hashtable 83 15 18.07% []
init_trustdb 47 23 48.93% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
tdb_clear_ownertrusts 32 10 31.25% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
verify_own_keys 67 18 26.86% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
validate_keys 204 46 22.54% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
reset_trust_records 36 12 33.33% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_keybox_parse_openpgp 140 61 43.57% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keygrip_from_keyparm 70 37 52.85% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keybox_search 268 92 34.32% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
keybox_compress 136 37 27.20% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
blob_filecopy 152 64 42.10% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
assuan_socket_connect 127 43 33.85% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_assuan_sock_set_sockaddr_un 41 20 48.78% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
crc24rfc2440_write 35 10 28.57% []
_gcry_mpi_ec_internal_new 65 21 32.30% []
point_from_keyparam 71 20 28.16% []
mpi_ec_get_elliptic_curve 91 43 47.25% []
mpi_ec_setup_elliptic_curve 64 22 34.37% []
_gcry_ecc_sec_decodepoint 102 33 32.35% []
_gcry_md_hash_buffer 34 15 44.11% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
md_final 37 11 29.72% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_pk_util_preparse_sigval 70 36 51.42% []
_gcry_pk_util_data_to_mpi 593 67 11.29% []
_gcry_pk_get_keygrip 75 40 53.33% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_pk_algo_info 49 13 26.53% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_mpi_ec_mul_point 219 90 41.09% []
_gcry_mpi_scan 146 78 53.42% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_mpi_print 206 72 34.95% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_mpih_divrem 134 54 40.29% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_initialize_fips_mode 43 11 25.58% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
check_fips_system_setting 36 17 47.22% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
parse_hwf_deny_file 46 9 19.56% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_sexp_release 33 7 21.21% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_sexp_vextract_param 345 77 22.31% []
do_vsexp_sscan 592 189 31.92% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gpgrt_estream_vasprintf 33 17 51.51% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
compute_type 77 34 44.15% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
read_values 98 34 34.69% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
parse_mode 119 37 31.09% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
es_seek 44 23 52.27% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
do_close 32 17 53.12% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
es_readn 44 22 50.0% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gpgrt_logv_internal 127 39 30.70% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
set_file_fd 54 29 53.70% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
print_prefix 76 24 31.57% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
agent_get_passphrase 72 15 20.83% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
write_status_printf 40 5 12.5% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
write_status_text_and_buffer 59 7 11.86% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
parse_def_secret_key 105 11 10.47% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
key_byname 102 40 39.21% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
print_fingerprint 116 45 38.79% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
proc_encrypted 264 119 45.07% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
list_node 161 56 34.78% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
check_sig_and_print 507 157 30.96% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
passphrase_to_dek 105 36 34.28% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
get_output_file 116 53 45.68% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
ask_for_detached_datafile 63 19 30.15% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
get_session_key 87 24 27.58% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
check_signature2 131 29 22.13% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
check_revocation_keys 36 19 52.77% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
enum_secret_keys 208 97 46.63% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_cipher_algo_info 42 13 30.95% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_ecc_eddsa_decodepoint 91 43 47.25% []
_gcry_md_hash_buffers_extract 56 18 32.14% []
_gcry_pk_util_parse_flaglist 139 30 21.58% []
read_pool 90 43 47.77% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
read_seed_file 82 8 9.756% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
lock_pool_pages 33 10 30.30% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
_gcry_secmem_malloc_internal 72 18 25.0% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
hash_datafiles 46 16 34.78% ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
mpi_print 35 13 37.14% ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']

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/libgcrypt/cipher/sha512.c [] []
/src/libgcrypt/random/rndgetentropy.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/cipher.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/common/helpfile.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/trustdb.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/keyid.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/common/gettime.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/twofish.c [] []
/src/gnupg/g10/ecdh.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/random/./jitterentropy-base-user.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/mpih-const-time.c [] []
/src/libgcrypt/src/secmem.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgpg-error/src/visibility.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgpg-error/src/estream-printf.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/tests/fuzz/fuzz_list.c ['fuzz_list'] ['fuzz_list']
/src/gnupg/g10/keyedit.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/signal.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import']
/src/gnupg/kbx/kbx-client-util.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/kdf.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/salsa20.c [] []
/src/gnupg/kbx/keybox-file.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/usr/include/x86_64-linux-gnu/bits/byteswap.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/mpi-pow.c [] []
/src/gnupg/g10/decrypt.c ['fuzz_decrypt'] ['fuzz_decrypt']
/src/libgcrypt/cipher/md.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/camellia.c [] []
/src/libgcrypt/random/rndhw.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/expand-group.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/./../common/logging.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgpg-error/src/estream.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/cipher-aead.c [] []
/src/libgcrypt/cipher/ecc-sm2.c [] []
/src/gnupg/g10/objcache.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import']
/src/libgcrypt/cipher/sha1.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgpg-error/src/b64dec.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/agent-opt.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/server.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/zb32.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/rsa.c [] []
/src/gnupg/g10/tdbio.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/mainproc.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/common/ttyio.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/npth/src/npth.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/keccak.c [] []
/src/libgcrypt/random/random-system.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/mpi-cmp.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt']
/src/libgpg-error/src/init.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/tests/fuzz/fuzz_import.c ['fuzz_import'] ['fuzz_import']
/src/gnupg/g10/passphrase.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_list']
/src/libgpg-error/src/version.c [] []
/src/gnupg/common/pkscreening.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/pubkey.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/misc.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/pubkey-enc.c ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_list']
/src/libgcrypt/cipher/idea.c [] []
/src/libgcrypt/cipher/serpent.c [] []
/src/libgcrypt/cipher/sm4.c [] []
/src/libgpg-error/src/code-from-errno.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/../src/gcrypt-int.h [] []
/src/libgcrypt/mpi/mpi-mul.c [] []
/src/libgcrypt/cipher/cipher-cmac.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/armor.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/sm3.c [] []
/src/gnupg/g10/plaintext.c ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify']
/src/libgcrypt/cipher/./bufhelp.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgpg-error/src/./gpg-error.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/gostr3411-94.c [] []
/src/libgcrypt/cipher/cipher-gcm.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/cipher-cbc.c [] []
/src/gnupg/g10/parse-packet.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/ecc-gost.c [] []
/usr/include/stdlib.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/rijndael-padlock.c [] []
/src/gnupg/g10/encrypt.c [] []
/src/gnupg/common/iobuf.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/mac-gmac.c [] []
/src/gnupg/g10/key-check.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import']
/src/gnupg/common/server-help.c [] []
/src/gnupg/g10/verify.c ['fuzz_decrypt', 'fuzz_verify'] ['fuzz_decrypt', 'fuzz_verify']
/src/libgpg-error/src/code-to-errno.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/getkey.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/rijndael-vaes.c [] []
/src/libgcrypt/cipher/sha1-intel-shaext.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/call-keyboxd.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/kbnode.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/sig-check.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify']
/src/libassuan/src/funopen.c [] []
/src/gnupg/common/status.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/mischelp.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/openpgp-oid.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/libgcrypt/cipher/cipher-poly1305.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/utf8conv.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify']
/src/gnupg/common/membuf.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/chacha20.c [] []
/src/libgcrypt/random/./jitterentropy-noise.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/kbx/keybox-search.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/../src/gcrypt.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/random/./../cipher/bithelp.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/md4.c [] []
/src/libgcrypt/cipher/sha256-intel-shaext.c [] []
/src/libassuan/src/assuan-socket-connect.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/gnupg/common/./sexp-parse.h [] []
/src/libgcrypt/cipher/seed.c [] []
/src/gnupg/common/convert.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/random/random-csprng.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/compress.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/cipher-gcm-siv.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/pkglue.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt']
/src/libgcrypt/src/misc.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/cipher-ccm.c [] []
/src/libassuan/src/system.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/gnupg/g10/build-packet.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import']
/src/gnupg/common/stringhelp.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/des.c [] []
/src/libgcrypt/compat/compat.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/yesno.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/tests/fuzz/fuzz_decrypt.c ['fuzz_decrypt'] ['fuzz_decrypt']
/src/gnupg/tests/fuzz/fuzz_verify.c ['fuzz_verify'] ['fuzz_verify']
/src/libgcrypt/cipher/sha256.c [] []
/src/gnupg/g10/./keydb.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/userids.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/kbx/keybox-update.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/export.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/mpi-div.c [] []
/src/libgcrypt/mpi/mpi-inv.c [] []
/src/gnupg/g10/rmd160.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/pubkey-util.c [] []
/src/gnupg/g10/tdbdump.c [] []
/src/gnupg/common/i18n.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_list']
/src/gnupg/common/sexputil.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgpg-error/src/sysutils.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/cast5.c [] []
/src/libgcrypt/cipher/ecc-eddsa.c [] []
/src/libgcrypt/mpi/mpih-mul.c [] []
/src/libgcrypt/cipher/rmd160.c [] []
/src/libgcrypt/cipher/cipher-xts.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/cipher-aeswrap.c [] []
/src/libgcrypt/cipher/blowfish.c [] []
/src/libgcrypt/random/./jitterentropy-health.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/camellia-glue.c [] []
/src/libgcrypt/cipher/dsa.c [] []
/src/libgcrypt/cipher/ecc-ecdh.c [] []
/src/libgcrypt/cipher/cipher-ocb.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libassuan/src/assuan-socket.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/libgpg-error/src/posix-lock.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/rijndael-aesni.c [] []
/src/libassuan/src/debug.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/gnupg/kbx/./../common/host2net.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/call-agent.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/gnupg/g10/mdfilter.c ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/kbx/keybox-init.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/random/./jitterentropy-base.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/./mpi-inline.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/cipher-ctr.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/hash-common.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/common/strlist.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/primegen.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/random/./rndjent.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/src/hwf-x86.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/rijndael-ssse3-amd64.c [] []
/src/libassuan/src/assuan-pipe-server.c [] []
/src/libgcrypt/mpi/mpi-add.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt']
/src/gnupg/common/openpgp-s2k.c ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/././cipher-internal.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/random/./jitterentropy-gcd.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/keylist.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/skclist.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_list']
/src/libassuan/src/server.c [] []
/src/libassuan/src/assuan-inquire.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import']
/src/gnupg/kbx/keybox-util.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libassuan/src/system-posix.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/libgcrypt/mpi/mpih-div.c [] []
/src/libgcrypt/cipher/rfc2268.c [] []
/src/gnupg/g10/decrypt-data.c ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/arcfour.c [] []
/src/libgcrypt/mpi/mpi-mod.c [] []
/src/gnupg/common/mapstrings.c ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/./keccak_permute_64.h [] []
/src/libgcrypt/cipher/./bithelp.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgpg-error/src/strsource.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/gnupg/g10/helptext.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/exechelp-posix.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/src/global.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/random/random.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/seskey.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt']
/src/gnupg/common/homedir.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/random/./jitterentropy-timer.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libassuan/src/client.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgpg-error/src/posix-thread.c [] []
/src/libgcrypt/cipher/./bulkhelp.h [] []
/src/gnupg/common/percent.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/progress.c ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify']
/src/libgcrypt/cipher/whirlpool.c [] []
/src/gnupg/g10/sign.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/dotlock.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/mpi/ec-nist.c [] []
/src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/b64enc.c [] []
/src/libgcrypt/src/fips.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/cipher-cfb.c [] []
/src/gnupg/common/mbox-util.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/scrypt.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/tiger.c [] []
/src/libgcrypt/random/random-drbg.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/./ec-inline.h [] []
/src/gnupg/g10/pkclist.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/ecc.c [] []
/src/libgcrypt/cipher/elgamal.c [] []
/src/gnupg/g10/keydb.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/mac.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/random/./jitterentropy-health.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/mpicoder.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/kbx/keybox-openpgp.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/mpi/mpiutil.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/crc.c [] []
/src/libgpg-error/src/b64enc.c [] []
/src/libgcrypt/src/./gcrypt-int.h [] []
/src/libgcrypt/src/visibility.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/dsa-common.c [] []
/src/gnupg/g10/cipher-cfb.c [] []
/src/gnupg/common/session-env.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/trust.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/import.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import']
/src/gnupg/common/sysutils.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libassuan/src/assuan-listen.c [] []
/src/libgcrypt/src/context.c [] []
/src/libgcrypt/cipher/cipher-siv.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/ecc-misc.c [] []
/src/libgcrypt/mpi/mpi-mpow.c [] []
/src/libgpg-error/src/stringutils.c [] []
/src/libgcrypt/mpi/mpi-scan.c [] []
/src/libgpg-error/src/argparse.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/usr/local/include/gpg-error.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/asshelp.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/libassuan/src/assuan-io.c [] []
/src/libgcrypt/cipher/gost28147.c [] []
/src/gnupg/g10/keyserver.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/kbx/keybox-blob.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/common/recsel.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/common/localename.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/rsa-common.c [] []
/src/libassuan/src/sysutils.c [] []
/src/gnupg/kbx/./keybox-defs.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/ecc-curves.c [] []
/src/gnupg/g10/photoid.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libassuan/src/assuan-uds.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/free-packet.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/card-util.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/usr/include/x86_64-linux-gnu/sys/stat.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/textfilter.c ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/cipher-eax.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/poly1305.c [] []
/src/gnupg/g10/key-clean.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/mac-cmac.c [] []
/src/libgcrypt/cipher/mac-poly1305.c [] []
/src/libgcrypt/src/sexp.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt']
/src/libassuan/src/assuan-handler.c [] []
/src/libgcrypt/cipher/blake2.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/mpi-bit.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/src/hwfeatures.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/./../common/util.h [] []
/src/gnupg/g10/keyring.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import']
/src/libgcrypt/cipher/stribog.c [] []
/src/libgcrypt/cipher/ecc-ecdsa.c [] []
/src/libassuan/src/assuan-buffer.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/mpi/ec.c [] []
/src/libgpg-error/src/./err-codes.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/cpr.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/common/miscellaneous.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libassuan/src/context.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgpg-error/src/strerror.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/mpi/./../cipher/bithelp.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgpg-error/src/syscall-clamp.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libassuan/src/assuan-logging.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/libgcrypt/cipher/crc-intel-pclmul.c [] []
/src/libassuan/src/conversion.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/common/init.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify']
/src/libgcrypt/mpi/mpi-gcd.c [] []
/src/gnupg/common/tlv.c [] []
/src/gnupg/common/compliance.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/md5.c [] []
/src/gnupg/g10/./../common/host2net.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/random/./jitterentropy-sha3.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgcrypt/cipher/mac-hmac.c [] []
/src/gnupg/g10/openfile.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_decrypt', 'fuzz_verify']
/src/libassuan/src/assuan.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_list']
/src/libgcrypt/cipher/cipher-ofb.c [] []
/src/libgcrypt/src/stdmem.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/libgcrypt/cipher/rijndael.c [] []
/src/libgcrypt/mpi/./../cipher/bufhelp.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libassuan/src/assuan-error.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/gnupg/g10/call-dirmngr.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/common/xasprintf.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import']
/src/gnupg/g10/keygen.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libassuan/src/./assuan-defs.h ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []
/src/libgpg-error/src/logging.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list']
/src/gnupg/g10/revoke.c ['fuzz_import', 'fuzz_decrypt', 'fuzz_verify', 'fuzz_list'] []

Directories in report

Directory
/src/libgcrypt/mpi/./../cipher/
/usr/include/
/src/gnupg/common/
/src/libgcrypt/mpi/
/src/libgcrypt/cipher/./
/src/libgcrypt/cipher/../src/
/src/libgcrypt/random/./
/src/npth/src/
/src/libgcrypt/mpi/./
/src/libassuan/src/./
/src/gnupg/common/./../common/
/src/libgcrypt/cipher/././
/src/gnupg/g10/./
/src/gnupg/common/./
/usr/include/x86_64-linux-gnu/sys/
/src/gnupg/g10/
/usr/local/include/
/src/libgpg-error/src/./
/src/gnupg/kbx/./
/src/libgcrypt/random/./../cipher/
/src/libgcrypt/random/
/src/gnupg/g10/./../common/
/src/libgpg-error/src/
/src/libgcrypt/src/
/src/gnupg/kbx/
/src/libgcrypt/src/./
/src/libgcrypt/cipher/
/usr/include/x86_64-linux-gnu/bits/
/src/libassuan/src/
/src/libgcrypt/compat/
/src/gnupg/kbx/./../common/
/src/gnupg/tests/fuzz/