Back to GnuTLS Homepage

GnuTLS Cyclomatic Complexity Report

Report generated at: Mon Oct 13 11:12:54 CEST 2008

Resume

Total number of functions 1554
Number of low risk functions 1384
Number of moderate risk functions 138
Number of high risk functions 32
Number of untestable functions 0

Details for all functions

Used ranges:

  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 Cyclomatic
Complexity
Number of
Statements
Number of
Lines
Source File
print_extensions 43 128 239 lib/x509/output.c
write_secret_key 42 77 115 lib/opencdk/write-packet.c
keydb_parse_allsigs 42 104 179 lib/opencdk/keydb.c
print_crl 39 158 280 lib/x509/output.c
file_verify_clearsign 37 94 147 lib/opencdk/verify.c
_gnutls_recv_int 36 106 260 lib/gnutls_record.c
read_secret_key 32 91 131 lib/opencdk/read-packet.c
keydb_merge_selfsig 30 86 117 lib/opencdk/keydb.c
gnutls_priority_init 30 80 148 lib/gnutls_priority.c
cdk_keydb_get_keyblock 30 74 133 lib/opencdk/keydb.c
_gnutls_parse_general_name 29 92 172 lib/x509/x509.c
armor_decode 28 72 121 lib/opencdk/armor.c
literal_decode 28 67 103 lib/opencdk/literal.c
_gnutls_set_keys 27 106 283 lib/gnutls_constate.c
cdk_pkt_read 37 103 159 lib/opencdk/read-packet.c
_gnutls_io_read_buffered 26 64 175 lib/gnutls_buffers.c
parse_sig_subpackets 26 48 69 lib/opencdk/read-packet.c
_gnutls_x509_parse_dn 26 124 236 lib/x509/dn.c
  print_cert 10 38 70 lib/openpgp/output.c
cdk_keydb_search 28 55 103 lib/opencdk/keydb.c
_gnutls_pkcs12_string_to_key 23 98 139 lib/x509/pkcs12_encr.c
_gnutls_x509_oid_data2string 23 68 139 lib/x509/common.c
_gnutls_verify_certificate2 23 53 115 lib/x509/verify.c
_gnutls_ciphertext2compressed 23 73 171 lib/gnutls_cipher.c
_pkcs12_decode_safe_contents 22 93 189 lib/x509/pkcs12.c
_gnutls_proc_openpgp_server_certificate 22 92 193 lib/auth_cert.c
_gnutls_recv_handshake 30 57 120 lib/gnutls_handshake.c
parse_pkcs12 26 80 151 lib/gnutls_x509.c
_gnutls_write_connection_state_init 22 59 179 lib/gnutls_constate.c
_gnutls_read_connection_state_init 22 59 176 lib/gnutls_constate.c
_cdk_pk_check_sig 21 69 112 lib/opencdk/sig-check.c
call_get_cert_callback 21 64 136 lib/auth_cert.c
_gnutls_asn1_encode_rsa 21 141 237 lib/x509/privkey.c
print_san 25 82 150 lib/x509/output.c
_gnutls_io_write_buffered 21 74 159 lib/gnutls_buffers.c
print_crq 21 108 205 lib/x509/output.c
_gnutls_x509_parse_dn_oid 20 82 166 lib/x509/dn.c
_gnutls_srp_pwd_read_entry 20 69 147 lib/auth_srp_passwd.c
read_signature 20 68 89 lib/opencdk/read-packet.c
write_signature 20 49 63 lib/opencdk/write-packet.c
_gnutls_pkcs1_rsa_encrypt 20 93 157 lib/gnutls_pk.c
_gnutls_send_client_hello 19 83 183 lib/gnutls_handshake.c
_gnutls_handshake_io_send_int 19 63 131 lib/gnutls_buffers.c
_gnutls_send_int 19 62 142 lib/gnutls_record.c
decode_pkcs8_key 19 49 121 lib/x509/privkey_pkcs8.c
_gnutls_verify_crl2 19 48 99 lib/x509/verify.c
cdk_pk_check_sigs 19 48 87 lib/opencdk/sig-check.c
_gnutls_recv_client_certificate 19 31 92 lib/gnutls_kx.c
_wrap_gcry_pk_sign 19 80 152 lib/pk-libgcrypt.c
keydb_find_byusage 18 22 42 lib/opencdk/keydb.c
_gnutls_decompress 18 66 135 lib/gnutls_compress.c
gnutls_x509_crt_list_import 17 64 125 lib/x509/x509.c
base64_decode 17 34 59 lib/opencdk/armor.c
_gnutls_read 17 57 124 lib/gnutls_buffers.c
_gnutls_pkcs1_rsa_decrypt 17 56 112 lib/gnutls_pk.c
unpack_certificate_auth_info 16 89 157 lib/gnutls_session_pack.c
gnutls_dh_params_export_pkcs3 16 81 157 lib/gnutls_dh_primes.c
_gnutls_recv_handshake_header 16 48 132 lib/gnutls_handshake.c
_gnutls_supported_ciphersuites 16 47 96 lib/gnutls_algorithms.c
print_key_purpose 16 45 72 lib/x509/output.c
cdk_kbnode_write_to_mem 16 35 61 lib/opencdk/kbnode.c
write_public_key 16 35 46 lib/opencdk/write-packet.c
cdk_keydb_search_start 25 77 136 lib/opencdk/keydb.c
record_check_type 19 41 134 lib/gnutls_record.c
_wrap_gcry_pk_verify 17 64 122 lib/pk-libgcrypt.c
encode_to_private_key_info 15 71 149 lib/x509/privkey_pkcs8.c
parse_attribute 15 63 133 lib/x509/crq.c
gnutls_certificate_set_x509_simple_pkcs12_file 15 52 89 lib/gnutls_x509.c
_pkcs12_encode_safe_contents 15 51 121 lib/x509/pkcs12.c
_cdk_keydb_get_sk_byusage 15 50 86 lib/opencdk/keydb.c
gnutls_x509_privkey_import 15 49 103 lib/x509/privkey.c
generate_key 15 46 117 lib/x509/privkey_pkcs8.c
_gnutls_psk_pwd_find_entry 15 46 99 lib/auth_psk_passwd.c
_cdk_keydb_get_pk_byusage 15 45 73 lib/opencdk/keydb.c
stream_filter_write 15 34 54 lib/opencdk/stream.c
cdk_stream_read 15 32 55 lib/opencdk/stream.c
read_pkcs_schema_params 17 60 137 lib/x509/privkey_pkcs8.c
_gnutls_proc_x509_server_certificate 14 65 140 lib/auth_cert.c
get_extension 14 60 123 lib/x509/extensions.c
_gnutls_gen_srp_client_kx 14 59 119 lib/auth_srp.c
_gnutls_server_select_suite 14 57 123 lib/gnutls_handshake.c
_gnutls_compressed2ciphertext 14 55 125 lib/gnutls_cipher.c
gnutls_x509_crt_get_crl_dist_points 14 49 100 lib/x509/x509.c
_gnutls_remove_unwanted_ciphersuites 14 48 126 lib/gnutls_handshake.c
gnutls_openpgp_keyring_import 14 43 84 lib/openpgp/extras.c
_gnutls_x509_ext_extract_proxyCertInfo 14 41 77 lib/x509/extensions.c
cdk_stream_close 14 39 68 lib/opencdk/stream.c
check_server_params 14 38 108 lib/gnutls_handshake.c
cdk_listkey_start 14 35 52 lib/opencdk/keydb.c
cdk_file_verify 14 32 51 lib/opencdk/verify.c
cdk_kbnode_write_to_mem_alloc 14 29 52 lib/opencdk/kbnode.c
_cdk_sig_check 14 23 38 lib/opencdk/sig-check.c
cdk_pkt_alloc 22 44 76 lib/opencdk/new-packet.c
find_by_pattern 14 24 39 lib/opencdk/keydb.c
_gnutls_proc_srp_server_kx 13 77 154 lib/auth_srp.c
decrypt_data 13 64 127 lib/x509/privkey_pkcs8.c
print_oneline 13 62 116 lib/x509/output.c
_gnutls_x509_get_dn_oid 13 61 120 lib/x509/dn.c
_wrap_gcry_pk_encrypt 13 58 109 lib/pk-libgcrypt.c
gnutls_pkcs12_set_bag 13 54 121 lib/x509/pkcs12.c
_gnutls_x509_cert_verify_peers 13 47 97 lib/gnutls_x509.c
read_attribute 13 46 67 lib/opencdk/read-packet.c
gnutls_x509_crq_get_key_purpose_oid 13 45 90 lib/x509/crq.c
cdk_keydb_import 13 44 78 lib/opencdk/keydb.c
read_subpkt 13 42 56 lib/opencdk/read-packet.c
cdk_keydb_export 13 42 69 lib/opencdk/keydb.c
_gnutls_x509_crt_to_gcert 13 39 84 lib/gnutls_cert.c
_gnutls_srp_send_params 13 32 71 lib/ext_srp.c
read_literal 13 30 41 lib/opencdk/read-packet.c
write_v3_sig 13 29 35 lib/opencdk/write-packet.c
  print_key_usage 8 19 31 lib/openpgp/output.c
keydb_idx_search 13 21 40 lib/opencdk/keydb.c
_gnutls_handshake_client 23 49 115 lib/gnutls_handshake.c
cdk_handle_control 18 43 78 lib/opencdk/main.c
_gnutls_pkcs7_encrypt_data 15 64 153 lib/x509/privkey_pkcs8.c
_gnutls_read_client_hello 12 72 144 lib/gnutls_handshake.c
_get_sk_rsa_raw 12 66 109 lib/openpgp/privkey.c
_gnutls_x509_encode_and_write_attribute 12 62 126 lib/x509/dn.c
_gnutls_x509_encode_and_copy_PKI_params 12 57 113 lib/x509/common.c
gnutls_pkcs12_generate_mac 12 56 122 lib/x509/pkcs12.c
gnutls_x509_crq_set_key_purpose_oid 12 49 107 lib/x509/crq.c
_wrap_gcry_pk_decrypt 12 48 99 lib/pk-libgcrypt.c
write_attributes 12 47 105 lib/x509/pkcs12.c
gnutls_x509_crt_check_revocation 12 45 94 lib/x509/x509.c
_cdk_subpkt_get_array 12 44 62 lib/opencdk/new-packet.c
armor_encode 12 44 66 lib/opencdk/armor.c
_gnutls_handshake_io_recv_int 12 44 100 lib/gnutls_buffers.c
_select_client_cert 12 43 106 lib/auth_cert.c
cdk_stream_mmap_part 12 42 67 lib/opencdk/stream.c
_gnutls_cert_type_recv_params 12 37 92 lib/ext_cert_type.c
_gnutls_gen_psk_client_kx 12 37 69 lib/auth_psk.c
stream_filter_read 12 36 64 lib/opencdk/stream.c
_gnutls_get_public_rsa_params 12 36 78 lib/auth_rsa.c
cdk_listkey_next 12 35 55 lib/opencdk/keydb.c
gnutls_openpgp_crt_verify_ring 12 33 58 lib/openpgp/pgpverify.c
write_literal 12 31 47 lib/opencdk/write-packet.c
read_pubkey_enc 12 25 33 lib/opencdk/read-packet.c
_gnutls_handshake_server 22 46 100 lib/gnutls_handshake.c
classify_data 13 23 41 lib/opencdk/keydb.c
_gnutls_read_client_hello_v2 11 74 166 lib/gnutls_v2_compat.c
_gnutls_asn1_encode_dsa 11 67 119 lib/x509/privkey.c
gen_rsa_export_server_kx 11 62 121 lib/auth_rsa_export.c
_dsa_generate_params 11 60 108 lib/pk-libgcrypt.c
_get_sk_dsa_raw 11 57 102 lib/openpgp/privkey.c
_gnutls_proc_cert_cert_req 11 53 104 lib/auth_cert.c
_gnutls_pbkdf2_sha1 11 52 144 lib/x509/pbkdf2-sha1.c
_gnutls_fbase64_decode 11 52 95 lib/x509_b64.c
_gnutls_send_server_hello 11 49 112 lib/gnutls_handshake.c
gnutls_global_init 11 48 113 lib/gnutls_global.c
_gnutls_proc_rsa_client_kx 11 44 109 lib/auth_rsa.c
gnutls_pkcs7_get_crt_raw 11 42 89 lib/x509/pkcs7.c