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

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
4 4 2 :

['mbedtls_internal_aes_decrypt', 'mbedtls_internal_aes_encrypt']

4 4 mbedtls_aes_crypt_ecb call site: 00090 /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:498
3 3 1 :

['xorbytes3e']

3 3 gcm_mask call site: 00071 /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:440
2 30 3 :

['xorbytes', '__bswap_64', 'gcm_mult']

2 96 mbedtls_gcm_starts call site: 00095 /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:309
0 73 1 :

['mbedtls_gcm_update']

0 73 mbedtls_cipher_update call site: 00062 /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:245
0 0 None 4 43 mbedtls_gcm_finish call site: 00109 /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:556
0 0 None 4 4 gcm_mult call site: 00064 /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:237
0 0 None 0 205 mbedtls_gcm_update call site: 00064 /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:492
0 0 None 0 104 _gcry_cipher_crypt call site: 00088 /src/ndpi/src/lib/third_party/src/gcrypt_light.c:331
0 0 None 0 31 mbedtls_gcm_update_ad call site: 00102 /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:379
0 0 1 :

['free']

0 0 ndpi_free call site: 00034 /src/ndpi/src/lib/ndpi_memory.c:80
0 0 None 0 0 mbedtls_cipher_get_block_size call site: 00062 /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h:576
0 0 None 0 0 mbedtls_aes_setkey_enc call site: 00048 /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:200

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fuzz_set_alloc_callbacks_and_seed [function] [call site] 00001
2 fuzz_set_alloc_callbacks [function] [call site] 00002
3 set_ndpi_malloc [function] [call site] 00003
3 malloc_wrapper [function] [call site] 00004
3 set_ndpi_free [function] [call site] 00006
3 free_wrapper [function] [call site] 00007
2 fuzz_set_alloc_seed [function] [call site] 00008
1 gcry_md_get_algo_dlen [function] [call site] 00009
1 gcry_md_open [function] [call site] 00010
2 ndpi_calloc [function] [call site] 00011
3 ndpi_malloc [function] [call site] 00012
1 gcry_md_reset [function] [call site] 00013
1 gcry_md_setkey [function] [call site] 00014
1 gcry_md_setkey [function] [call site] 00015
1 gcry_md_write [function] [call site] 00016
1 gcry_md_read [function] [call site] 00017
2 hmac_sha256 [function] [call site] 00018
3 sha256_init [function] [call site] 00019
3 sha256_update [function] [call site] 00020
4 sha256_write_byte_block [function] [call site] 00021
5 sha256_transform [function] [call site] 00022
3 sha256_update [function] [call site] 00023
3 sha256_final [function] [call site] 00024
4 sha256_write_byte_block [function] [call site] 00025
4 sha256_write_byte_block [function] [call site] 00026
4 sha256_init [function] [call site] 00027
3 sha256_init [function] [call site] 00028
3 sha256_update [function] [call site] 00029
3 sha256_update [function] [call site] 00030
3 sha256_final [function] [call site] 00031
1 gcry_md_get_algo [function] [call site] 00032
1 gcry_md_close [function] [call site] 00033
2 ndpi_free [function] [call site] 00034
1 gpg_strerror_r [function] [call site] 00035
2 gcry_errstr [function] [call site] 00036
2 strncpy [call site] 00037
1 ndpi_malloc [function] [call site] 00038
1 gcry_cipher_open [function] [call site] 00039
2 ndpi_calloc [function] [call site] 00040
2 mbedtls_aes_init [function] [call site] 00041
2 ndpi_calloc [function] [call site] 00042
2 mbedtls_gcm_init [function] [call site] 00043
1 gcry_cipher_setkey [function] [call site] 00044
2 check_valid_algo_mode [function] [call site] 00045
2 gcry_cipher_get_algo_keylen [function] [call site] 00046
2 mbedtls_aes_setkey_enc [function] [call site] 00047
3 aes_gen_tables [function] [call site] 00048
4 mbedtls_aesni_has_support [function] [call site] 00049
5 fopen [call site] 00050
5 getline [call site] 00051
5 strstr [call site] 00052
3 mbedtls_aesni_setkey_enc [function] [call site] 00053
4 aesni_setkey_enc_128 [function] [call site] 00054
4 aesni_setkey_enc_192 [function] [call site] 00055
4 aesni_setkey_enc_256 [function] [call site] 00056
2 mbedtls_gcm_setkey [function] [call site] 00057
3 mbedtls_cipher_info_from_values [function] [call site] 00058
3 mbedtls_cipher_setkey [function] [call site] 00059
3 gcm_gen_table [function] [call site] 00060
4 mbedtls_cipher_update [function] [call site] 00061
5 mbedtls_cipher_get_block_size [function] [call site] 00062
5 mbedtls_gcm_update [function] [call site] 00063
6 gcm_mult [function] [call site] 00064
7 __bswap_64 [function] [call site] 00065
7 __bswap_64 [function] [call site] 00066
7 mbedtls_aesni_gcm_mult [function] [call site] 00067
7 __bswap_64 [function] [call site] 00068
7 __bswap_64 [function] [call site] 00069
6 gcm_mask [function] [call site] 00070
7 mbedtls_cipher_update [function] [call site] 00071
7 xorbytes3d [function] [call site] 00072
7 xorbytes3e [function] [call site] 00073
4 htonl [call site] 00080
4 htonl [call site] 00081
4 htonl [call site] 00082
4 htonl [call site] 00083
4 mbedtls_aesni_has_support [function] [call site] 00084
1 gcry_cipher_setkey [function] [call site] 00085
1 gcry_cipher_encrypt [function] [call site] 00086
2 _gcry_cipher_crypt [function] [call site] 00087
3 check_valid_algo_mode [function] [call site] 00088
3 ndpi_malloc [function] [call site] 00089
3 mbedtls_aes_crypt_ecb [function] [call site] 00090
4 mbedtls_aesni_crypt_ecb [function] [call site] 00091
4 mbedtls_internal_aes_encrypt [function] [call site] 00092
4 mbedtls_internal_aes_decrypt [function] [call site] 00093
3 mbedtls_gcm_crypt_and_tag [function] [call site] 00094
4 mbedtls_gcm_starts [function] [call site] 00095
5 __bswap_64 [function] [call site] 00096
5 mbedtls_cipher_update [function] [call site] 00101
4 mbedtls_gcm_update_ad [function] [call site] 00102
4 mbedtls_gcm_update [function] [call site] 00108
4 mbedtls_gcm_finish [function] [call site] 00109
3 ndpi_free [function] [call site] 00117
1 gcry_cipher_ctl [function] [call site] 00118
1 gcry_cipher_close [function] [call site] 00119
2 check_valid_algo_mode [function] [call site] 00120
2 mbedtls_aes_free [function] [call site] 00121
2 mbedtls_gcm_free [function] [call site] 00122
2 ndpi_free [function] [call site] 00123
1 gpg_strerror_r [function] [call site] 00124
1 gcry_cipher_setkey [function] [call site] 00125
1 gcry_cipher_reset [function] [call site] 00126
2 check_valid_algo_mode [function] [call site] 00127
2 mbedtls_cipher_reset [function] [call site] 00128
1 gcry_cipher_setiv [function] [call site] 00129
2 check_valid_algo_mode [function] [call site] 00130
1 gcry_cipher_setiv [function] [call site] 00131
1 gcry_cipher_authenticate [function] [call site] 00132
2 check_valid_algo_mode [function] [call site] 00133
1 gcry_cipher_decrypt [function] [call site] 00134
2 _gcry_cipher_crypt [function] [call site] 00135
1 gcry_cipher_close [function] [call site] 00136
1 gpg_strerror_r [function] [call site] 00137
1 ndpi_free [function] [call site] 00138