Back to Homepage

Cyclomatic Complexity Report

Report generated at: Sun Jul 5 04:54:32 UTC 2020

Summary
Total number of functions 3664
Number of low risk functions 3225
Number of moderate risk functions 333
Number of high risk functions 96
Number of untestable functions 10

Details for all functions
  Cyclomatic Complexity Risk Evaluation
  0 - 10 Simple module, without much risk
  11 - 20 More complex module, moderate risk
  21 - 50 Complex module, high risk
  greater than 50 Untestable module, very high risk

Function Name Modified Cyclo Number of
Statements
Number of
Lines
Source File
gost_block_compress 256 76 190 nettle/gost/gosthash94.c
set_ciphersuite_list 104 194 279 priority.c
gnutls_priority_init 69 173 310 priority.c
gnutls_pkcs12_simple_parse 66 239 391 x509/pkcs12.c
print_extension 63 167 296 x509/output.c
wrap_nettle_pk_generate_keys 61 261 446 nettle/pk.c
verify_crt 60 128 251 x509/verify.c
_gnutls_recv_in_buffers 59 153 372 record.c
cfg_ini_handler 55 159 250 priority.c
sha3_permute 53 99 140 nettle/ecc/sha3-permute.c
print_resp 50 216 424 x509/ocsp_output.c
record_add_to_buffers 47 89 268 record.c
find_multi_objs_cb 46 193 288 pkcs11.c
register_x86_intel_crypto 45 123 304 accelerated/x86/x86-common.c
gnutls_x509_trust_list_verify_crt2 43 114 216 x509/verify-high.c
_wrap_nettle_pk_sign 42 175 354 nettle/pk.c
find_cert_cb 41 126 213 pkcs11.c
decrypt_packet 39 121 281 cipher.c
send_client_hello 39 100 221 handshake.c
gnutls_x509_crl_verify 38 80 142 x509/verify.c
psk_ke_modes_recv_params 38 57 88 ext/psk_ke_modes.c
_wrap_nettle_pk_derive 37 134 243 nettle/pk.c
print_crl 37 154 297 x509/output.c
client_send_params 37 145 261 ext/pre_shared_key.c
gnutls_x509_name_constraints_check_crt 37 118 178 x509/name_constraints.c
read_server_hello 37 105 202 handshake.c
_dtls_transmit 35 95 199 dtls.c
gnutls_tpm_privkey_generate 35 162 281 tpm.c
gnutls_x509_privkey_import_openssl 35 134 211 x509/privkey_openssl.c
_gnutls_supported_groups_recv_params 34 74 117 ext/supported_groups.c
read_client_hello 34 136 254 handshake.c
gnutls_ocsp_resp_get_single 34 102 185 x509/ocsp.c
wrap_nettle_pk_verify_priv_params 33 155 310 nettle/pk.c
_gnutls_send_tlen_int 32 84 171 record.c
_gnutls_params_get_rsa_raw 32 77 127 pk.c
gnutls_pkcs11_privkey_generate3 30 222 333 pkcs11_privkey.c
gnutls_x509_privkey_generate2 30 77 129 x509/privkey.c
key_share_send_params 30 74 118 ext/key_share.c
ini_parse_stream 30 70 134 inih/ini.c
gnutls_session_get_desc 30 67 134 session.c
gnutls_x509_privkey_import2 30 55 112 x509/privkey.c
_wrap_nettle_pk_verify 29 128 255 nettle/pk.c
_gnutls_pkcs12_string_to_key 29 134 188 x509/pkcs12_encr.c
find_signer 29 77 143 x509/pkcs7.c
gnutls_pkcs7_sign 29 115 228 x509/pkcs7.c
server_recv_params 29 112 189 ext/pre_shared_key.c
_gnutls_dsa_compute_k 29 108 164 nettle/int/dsa-compute-k.c
pkcs11_import_object 29 105 169 pkcs11.c
get_win_urls 28 94 148 system/keys-win.c
gnutls_x509_privkey_import 28 84 165 x509/privkey.c
_gnutls_figure_common_ciphersuite 28 74 130 algorithms/ciphersuites.c
gnutls_system_key_add_x509 28 109 167 system/keys-win.c
gnutls_pk_self_test 27 69 169 crypto-selftests-pk.c
_gnutls_name_constraints_intersect 27 80 148 x509/name_constraints.c
gnutls_aead_cipher_encryptv2 27 79 127 crypto-api.c
_gnutls13_send_certificate 27 75 128 tls13/certificate.c
encrypt_packet 27 73 167 cipher.c
wrap_nettle_pk_fixup 27 65 126 nettle/pk.c
gnutls_pkcs7_get_signature_info 27 111 190 x509/pkcs7.c
_gnutls_pkcs_raw_decrypt_data 27 106 178 x509/pkcs7-crypt.c
is_level_acceptable 26 77 133 x509/verify.c
_gnutls_global_init 26 96 171 global.c
_gnutls_auth_cipher_encrypt2_tag 26 59 114 cipher_int.c
_gnutls_fips_perform_self_checks2 26 102 166 fips.c
_gnutls_parse_record_buffered_msgs 25 83 212 buffers.c
test_cipher_aead_compat 25 81 159 crypto-selftests.c
register_x86_padlock_crypto 25 69 175 accelerated/x86/x86-common.c
dn_attr_crt_set 25 48 84 x509/x509_dn.c
test_cipher_aead_scatter 25 108 204 crypto-selftests.c
handshake_client 24 125 221 handshake.c
gnutls_pkcs11_copy_x509_privkey2 24 241 373 pkcs11_write.c
_pkcs12_decode_safe_contents 24 94 184 x509/pkcs12.c
test_cipher 24 75 145 crypto-selftests.c
gnutls_aead_cipher_decryptv2 24 75 119 crypto-api.c
_pkcs11_traverse_tokens 24 69 118 pkcs11.c
gnutls_x509_crt_list_import 23 81 147 x509/x509.c
key_share_recv_params 23 80 146 ext/key_share.c
_gnutls_pkcs11_verify_crt_status 23 78 169 x509/verify.c
_gnutls_check_cert_sanity 23 74 111 x509/x509.c
_register_aarch64_crypto 23 64 156 accelerated/aarch64/aarch64-common.c
_gnutls_epoch_set_keys 23 55 96 constate.c
_gnutls_session_get_sign_algo 23 51 107 ext/signature.c
_gnutls_x509_write_gost_params 23 48 91 x509/key_encode.c
_gnutls_pubkey_compatible_with_sig 23 37 80 pubkey.c
read_attr_and_val 23 34 63 x509/x509_dn.c
_gnutls_recv_handshake 22 83 185 handshake.c
_gnutls_x509_read_rsa_pss_params 22 94 143 x509/key_decode.c
print_cert 22 93 179 x509/output.c
_gnutls_srp_pwd_read_entry 22 75 137 auth/srp_passwd.c
gnutls_x509_crt_check_hostname2 22 71 148 x509/hostname-verify.c
_gnutls_figure_dh_params 22 70 118 dh.c
pkcs11_login 22 59 118 pkcs11.c
gnutls_handshake 22 54 108 handshake.c
_dsa_validate_dss_pq 22 49 103 nettle/int/dsa-validate.c
handshake_server 21 106 195 handshake.c
wrap_nettle_pk_generate_params 21 69 138 nettle/pk.c
check_ocsp_response 21 87 146 cert-session.c
_gnutls_pkcs11_privkey_sign 21 85 142 pkcs11_privkey.c
drbg_aes_self_test 21 80 184 nettle/int/drbg-aes-self-test.c
find_signercert 21 79 118 x509/ocsp.c
_gnutls_parse_general_name2 21 74 123 x509/x509.c
_gnutls_verify_crt_status 21 73 165 x509/verify.c
_gnutls_pkcs_generate_key 21 67 139 x509/pkcs7-crypt.c
client_gen_key_share 21 66 117 ext/key_share.c
check_g_n 21 23 52 auth/srp_kx.c
parse_cert_list 21 108 164 tls13/certificate.c
_gnutls13_recv_async_handshake 20 72 137 handshake-tls13.c
recv_handshake_final 20 49 86 handshake.c
print_crq 20 90 189 x509/output.c
_gnutls_proc_dh_common_server_kx 20 82 151 auth/dh_common.c
_gnutls_pkcs11_crt_is_known 20 79 124 pkcs11.c
test_known_sig 20 74 130 crypto-selftests-pk.c
find_child_of_with_serial 20 71 117 x509/pkcs7.c
supported_versions_recv_params 20 57 117 ext/supported_versions.c
_gnutls13_recv_certificate 20 49 87 tls13/certificate.c
parse_commitment_line 20 49 83 verify-tofu.c
hello_ext_send 20 37 80 hello_ext.c
_gnutls_handshake_io_recv_int 20 30 65 buffers.c
pct_test 19 80 127 nettle/pk.c
write_attributes 19 82 131 x509/pkcs7.c
print_oneline 19 81 160 x509/output.c
server_use_key_share 19 77 141 ext/key_share.c
gnutls_aead_cipher_encryptv 19 65 104 crypto-api.c
verify_hash_attr 19 60 106 x509/pkcs7.c
client_use_key_share 19 56 105 ext/key_share.c
_gnutls_client_cert_type_send_params 19 51 175 ext/client_cert_type.c
check_if_ca 19 49 109 x509/verify.c
parse_line 19 39 71 verify-tofu.c
gnutls_certificate_verification_status_print 19 39 103 cert-cred.c
parse_handshake_header 19 38 99 buffers.c
_gnutls_recv_client_certificate 19 32 88 kx.c
gnutls_session_get_data2 19 31 59 session.c
str_escape 19 29 46 x509/common.c
st_provable_prime 19 114 195 nettle/int/provable-prime.c
gnutls_heartbeat_ping 18 55 115 ext/heartbeat.c
_gnutls_x509_cert_verify_peers 18 73 137 cert-session.c
gnutls_pkcs12_verify_mac 18 73 152 x509/pkcs12.c
gnutls_pkcs11_privkey_import_url 18 69 115 pkcs11_privkey.c
gnutls_pkcs12_generate_mac2 18 64 135 x509/pkcs12.c
_gnutls_select_server_cert 18 61 145 auth/cert.c
_gnutls13_send_certificate_verify 18 55 94 tls13/certificate_verify.c
_gnutls13_recv_hello_retry_request 18 53 91 tls13/hello_retry.c
retrieve_pin_from_callback 18 51 85 pkcs11.c
print_pkcs7_info 18 51 75 x509/pkcs7-output.c
_gnutls_server_select_suite 18 48 95 handshake.c
_gnutls_params_get_ecc_raw 18 46 85 pk.c
record_check_version 18 31 77 record.c
is_printable 18 3 10 x509/common.c
check_server_dh_params 18 20 55 algorithms/ciphersuites.c
g 18 19 25 nettle/gost/streebog.c
rsa_provable_prime 18 115 210 nettle/int/rsa-keygen-fips186.c
_dsa_generate_dss_pq 18 109 190 nettle/int/dsa-keygen-fips186.c
_gnutls_send_handshake2 17 60 155 handshake.c
check_session_status 17 52 107 record.c
print_pubkey 17 115 262 x509/output.c
encode_to_private_key_info 17 80 146 x509/privkey_pkcs8.c
import_tpm_key 17 77 140 tpm.c
parse_pem_cert_mem 17 75 120 cert-cred-x509.c
_gnutls_proc_rsa_psk_client_kx 17 74 158 auth/rsa_psk.c
_gnutls_proc_x509_crt 17 73 136 auth/cert.c
_gnutls_gost_keytrans_decrypt 17 73 130 vko.c
gnutls_x509_ext_export_policies 17 71 132 x509/x509_ext.c
_gnutls13_send_session_ticket 17 70 116 tls13/session_ticket.c
gnutls_x509_ext_export_name_constraints 17 67 125 x509/x509_ext.c
read_cert_url 17 66 98 cert-cred-x509.c
gnutls_certificate_set_rawpk_key_file 17 64 138 cert-cred-rawpk.c
test_cipher_aead 17 64 145 crypto-selftests.c
_tls13_update_keys 17 63 132 constate.c
gnutls_x509_crl_list_import 17 63 111 x509/crl.c
gnutls_ocsp_resp_import2 17 55 107 x509/ocsp.c
_gnutls_alpn_recv_params 17 53 90 ext/alpn.c
gnutls_certificate_set_key 17 52 100 cert-cred.c
find_x509_client_cert 17 51 103 auth/cert.c
_gnutls_server_cert_type_send_params 17 49 156 ext/server_cert_type.c
gnutls_x509_ext_import_authority_key_id 17 47 88 x509/x509_ext.c
gnutls_pkcs8_info 17 46 89 x509/privkey_pkcs8.c
compare_sig_algorithm 17 46 72 x509/x509.c
gnutls_x509_trust_list_add_crls 17 45 92 x509/verify-high.c
tfo_writev 17 44 80 system/fastopen.c
gnutls_pkcs11_token_get_flags 17 43 76 pkcs11.c
psk_ke_modes_send_params 17 41 68 ext/psk_ke_modes.c
crt_set_dn 17 41 67 x509/x509_dn.c
hello_ext_parse 17 38 78 hello_ext.c
append_status_request 17 38 65 tls13/certificate.c
x509_read_value 17 34 60 x509/common.c
LSX 17 17 21 nettle/gost/kuznyechik.c
_gnutls13_handshake_server 16 133 223 handshake-tls13.c
_gnutls_session_unpack 16 63 117 session_pack.c
gnutls_pkcs11_copy_x509_crt2 16 99 154 pkcs11_write.c
gnutls_init 16 84 167 state.c
_tls13_set_keys 16 82 147 constate.c
gnutls_x509_ext_import_policies 16 82 140 x509/x509_ext.c
append_elements 16 75 162 x509/dn.c
_gnutls_privkey_import_system_url 16 74 125 system/keys-win.c
_gnutls_key_fingerprint_randomart 16 74 109 extras/randomart.c
_gnutls_x509_parse_dn_oid 16 70 151 x509/dn.c
_rsa_generate_fips186_4_keypair 16 70 129 nettle/int/rsa-keygen-fips186.c
_gnutls_asn1_encode_rsa 16 65 131 x509/key_encode.c
gnutls_certificate_set_ocsp_status_request_mem 16 62 108 ocsp-api.c
_gnutls_send_server_hello 16 62 115 handshake.c
_gnutls13_send_certificate_request 16 59 104 tls13/certificate_request.c
gnutls_pkcs7_print 16 58 99 x509/pkcs7-output.c
delete_obj_url_cb 16 58 101 pkcs11_write.c
_gnutls_asn1_encode_ecc 16 57 105 x509/key_encode.c
_gnutls_stream_read 16 54 102 buffers.c
gnutls_certificate_set_x509_simple_pkcs12_mem 16 54 84 cert-cred-x509.c
gnutls_x509_ext_import_crl_dist_points 16 53 90 x509/x509_ext.c
_gnutls_resolve_priorities 16 52 86 priority.c
principal_to_str 16 51 79 x509/krb5.c
_pkcs12_encode_safe_contents 16 51 115 x509/pkcs12.c
find_single_obj_cb 16 44 79 pkcs11.c
gnutls_credentials_set 16 43 77 auth.c
_gnutls_get_asn_mpis 16 43 84 x509/mpi.c
_gnutls_ext_sr_verify 16 40 102 ext/safe_renegotiation.c
recv_headers 16 38 95 record.c
load_dir_certs 16 36 85 x509/verify-high2.c
generate_hs_traffic_keys 16 29 57 handshake-tls13.c
_gnutls_set_cipher_suite2 16 27 48 constate.c
gnutls_x509_crt_equals 16 24 48 x509/x509.c
gnutls_pubkey_get_preferred_hash_algorithm 15 44 77 pubkey.c
gnutls_record_send2 15 35 79 record.c
_gnutls_pkcs11_check_init 15 40 80 pkcs11.c
gnutls_pubkey_parse_ecc_eddsa_params 15 61 102 pubkey.c
_gnutls_read_client_hello_v2 15 81 167 sslv2_compat.c
gnutls_x509_privkey_import_rsa_raw2 15 71 118 x509/privkey.c
pkcs11_override_cert_exts 15 69 101 pkcs11x.c
read_pbkdf2_params 15 68 133 x509/pkcs7-crypt.c
_gnutls13_recv_certificate_verify 15 65 104 tls13/certificate_verify.c
_gnutls_x509_write_rsa_pss_params 15 65 117 x509/key_encode.c