Fuzz introspector: gnutls_idna_parser_fuzzer
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
771 771 5 :

['_gnutls_buffer_clear', 'construct_system_wide_priority_string', 'gnutls_strerror', 'load_system_priority_file', 'update_system_wide_priority_string']

871 871 _gnutls_update_system_priorities call site: 00000 /src/gnutls/lib/priority.c:2286
725 2055 19 :

['read_cpuid_vals', 'check_padlock', 'check_fast_pclmul', 'check_pclmul', 'capabilities_to_intel_cpuid', 'check_sha', 'gnutls_crypto_single_digest_register', 'check_phe', 'gnutls_crypto_single_mac_register', '_gnutls_priority_update_non_aesni', 'check_avx_movbe', 'capabilities_to_zhaoxin_edx', 'check_ssse3', '_gnutls_log', 'check_optimized_aes', 'check_phe_sha512', 'check_phe_partial', 'gnutls_crypto_single_cipher_register', 'padlock_capability']

725 2055 register_x86_padlock_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:383
48 48 1 :

['capabilities_to_intel_cpuid']

440 1304 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:817
18 18 1 :

['_gnutls_asn2err']

40 40 _gnutls_global_init call site: 00000 /src/gnutls/lib/global.c:306
12 12 2 :

['atoi', '_gnutls_log']

22 1562 lib_init call site: 00000 /src/gnutls/lib/global.c:520
12 12 1 :

['_asn1_delete_list_and_nodes']

12 12 asn1_array2tree call site: 00000 /src/libtasn1/lib/structure.c:272
10 10 1 :

['_gnutls_log']

10 10 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:1027
10 10 1 :

['_gnutls_log']

10 10 _algo_register call site: 00000 /src/gnutls/lib/crypto-backend.c:67
10 10 1 :

['_gnutls_log']

10 10 _algo_register call site: 00000 /src/gnutls/lib/crypto-backend.c:87
6 6 3 :

['gnutls_global_set_log_level', 'gnutls_global_set_log_function', 'atoi']

166 1986 _gnutls_global_init call site: 00000 /src/gnutls/lib/global.c:262
4 4 2 :

['open', 'close']

44 44 _rnd_system_entropy_init call site: 00000 /src/gnutls/lib/nettle/sysrng-linux.c:168
2 2 1 :

['_gnutls_priority_update_non_aesni']

2 2 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:942

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 gnutls_idna_map [function] [call site] 00001
2 _gnutls_str_is_print [function] [call site] 00002
3 c_isprint [function] [call site] 00003
2 _gnutls_log [function] [call site] 00004
3 vasprintf [call site] 00005
3 rpl_free [function] [call site] 00006
4 __errno_location [call site] 00007
4 __errno_location [call site] 00008
2 _gnutls_set_strdatum [function] [call site] 00009
3 _gnutls_log [function] [call site] 00010
1 strlen [call site] 00011
1 __assert_fail [call site] 00012