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
788 788 3 :

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

788 788 check_redirect_output call site: 00000 /src/wget/src/log.c:980
725 2055 19 :

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

725 2055 register_x86_padlock_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:388
472 472 12 :

['fseek', 'pthread_rwlock_wrlock', 'cfg_apply', 'ini_parse_file', 'gnutls_strerror', 'ini_ctx_deinit', 'construct_system_wide_priority_string', 'fclose', '_name_val_array_clear', 'fopen', '_gnutls_buffer_clear', 'update_system_wide_priority_string']

604 604 _gnutls_update_system_priorities call site: 00000 /src/gnutls/lib/priority.c:2314
48 48 1 :

['capabilities_to_intel_cpuid']

440 1304 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:911
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:293
16 16 1 :

['_asn1_delete_list_and_nodes']

16 16 asn1_array2tree call site: 00000 /src/gnutls/lib/minitasn1/structure.c:272
14 26 2 :

['determine_screen_width', 'xrealloc']

14 622 bar_draw call site: 00000 /src/wget/src/progress.c:791
12 12 2 :

['atoi', '_gnutls_log']

22 1558 lib_init call site: 00000 /src/gnutls/lib/global.c:503
10 10 1 :

['_gnutls_log']

10 10 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:1170
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