Fuzz introspector: wget_progress_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
816 816 3 :

['tcgetpgrp', 'redirect_output', 'getpgrp']

816 816 check_redirect_output call site: 00000 /src/wget/src/log.c:980
774 774 5 :

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

874 874 _gnutls_update_system_priorities call site: 00000 /src/gnutls/lib/priority.c:2286
724 2053 19 :

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

724 2053 register_x86_padlock_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:383
47 47 1 :

['capabilities_to_intel_cpuid']

439 1303 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:817
34 34 1 :

['logflush']

34 34 log_set_flush call site: 00000 /src/wget/src/log.c:542
18 18 1 :

['_gnutls_asn2err']

40 40 _gnutls_global_init call site: 00000 /src/gnutls/lib/global.c:306
16 16 1 :

['_asn1_delete_list_and_nodes']

16 16 asn1_array2tree call site: 00000 /src/gnutls/lib/minitasn1/structure.c:275
15 27 2 :

['determine_screen_width', 'xrealloc']

15 652 bar_draw call site: 00000 /src/wget/src/progress.c:791
12 12 2 :

['_gnutls_log', 'atoi']

22 1565 lib_init call site: 00000 /src/gnutls/lib/global.c:520
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

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 strndup [call site] 00001
1 set_progress_implementation [function] [call site] 00002
2 strchr [call site] 00003
2 strlen [call site] 00004
2 strncmp [call site] 00005
2 abort [call site] 00006
1 progress_create [function] [call site] 00007
2 set_progress_implementation [function] [call site] 00008
1 progress_update [function] [call site] 00009
1 progress_update [function] [call site] 00010
1 progress_finish [function] [call site] 00011
1 set_progress_implementation [function] [call site] 00012
1 progress_create [function] [call site] 00013
1 progress_update [function] [call site] 00014
1 progress_update [function] [call site] 00015
1 progress_finish [function] [call site] 00016
1 set_progress_implementation [function] [call site] 00017
1 progress_create [function] [call site] 00018
1 progress_update [function] [call site] 00019
1 progress_update [function] [call site] 00020
1 progress_finish [function] [call site] 00021
1 set_progress_implementation [function] [call site] 00022
1 progress_create [function] [call site] 00023
1 progress_update [function] [call site] 00024
1 progress_update [function] [call site] 00025
1 progress_finish [function] [call site] 00026
1 set_progress_implementation [function] [call site] 00027
1 progress_create [function] [call site] 00028
1 progress_update [function] [call site] 00029
1 progress_update [function] [call site] 00030
1 progress_finish [function] [call site] 00031
1 rpl_free [function] [call site] 00032
2 __errno_location [call site] 00033
2 __errno_location [call site] 00034