Fuzz introspector: libwget_bar_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
0 179 1 :

['wget_human_readable']

0 179 bar_update_speed_stats call site: 00105 /src/wget2/libwget/bar.c:177
0 17 1 :

['wget_buffer_memset_append']

0 35 convert_dec call site: 00088 /src/wget2/libwget/buffer_printf.c:219
0 2 1 :

['wget_malloc']

0 213 wget_bar_vprintf call site: 00154 /src/wget2/libwget/bar.c:659
0 0 None 22 645 wget_buffer_vprintf_append call site: 00035 /src/wget2/libwget/buffer_printf.c:346
0 0 None 22 645 wget_buffer_vprintf_append call site: 00045 /src/wget2/libwget/buffer_printf.c:377
0 0 None 22 645 wget_buffer_vprintf_append call site: 00055 /src/wget2/libwget/buffer_printf.c:408
0 0 None 2 342 wget_bar_set_slots call site: 00016 /src/wget2/libwget/bar.c:492
0 0 None 2 2 wget_strlcpy call site: 00108 /src/wget2/libwget/strlcpy.c:51
0 0 None 2 2 wget_thread_mutex_init call site: 00011 /src/wget2/libwget/thread.c:87
0 0 None 0 396 convert_dec call site: 00071 /src/wget2/libwget/buffer_printf.c:162
0 0 None 0 322 wget_bar_init call site: 00004 /src/wget2/libwget/bar.c:463
0 0 None 0 322 wget_bar_init call site: 00009 /src/wget2/libwget/bar.c:464

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 __assert_fail [call site] 00001
1 wget_bar_screen_resized [function] [call site] 00002
1 wget_bar_init [function] [call site] 00003
2 bar_get_width [function] [call site] 00004
3 wget_get_screen_size [function] [call site] 00005
4 fileno [call site] 00006
4 rpl_ioctl [function] [call site] 00007
5 ioctl [call site] 00008
2 wget_calloc [function] [call site] 00009
2 wget_thread_mutex_init [function] [call site] 00010
3 wget_malloc [function] [call site] 00011
3 pthread_mutex_init [call site] 00012
2 wget_bar_set_slots [function] [call site] 00013
3 wget_thread_mutex_lock [function] [call site] 00014
4 pthread_mutex_lock [call site] 00015
3 wget_realloc [function] [call site] 00016
3 wget_thread_mutex_unlock [function] [call site] 00017
4 pthread_mutex_unlock [call site] 00018
3 fputs [call site] 00019
3 bar_update_winsize [function] [call site] 00020
4 bar_get_width [function] [call site] 00021
4 wget_calloc [function] [call site] 00022
4 wget_malloc [function] [call site] 00023
4 wget_malloc [function] [call site] 00024
4 wget_malloc [function] [call site] 00025
3 bar_update [function] [call site] 00026
4 bar_update_winsize [function] [call site] 00027
4 bar_update_slot [function] [call site] 00028
5 wget_human_readable [function] [call site] 00029
6 wget_snprintf [function] [call site] 00030
7 wget_vsnprintf [function] [call site] 00031
8 wget_buffer_init [function] [call site] 00032
9 wget_malloc [function] [call site] 00033
8 wget_buffer_vprintf [function] [call site] 00034
9 wget_buffer_vprintf_append [function] [call site] 00035
10 wget_buffer_memcat [function] [call site] 00036
11 buffer_realloc [function] [call site] 00037
12 wget_realloc [function] [call site] 00038
12 wget_malloc [function] [call site] 00039
10 wget_buffer_strcat [function] [call site] 00040
11 strlen [call site] 00041
11 wget_buffer_memcat [function] [call site] 00042
10 convert_dec_fast [function] [call site] 00043
11 wget_buffer_memcat [function] [call site] 00044
10 wget_buffer_memcat [function] [call site] 00045
10 convert_pointer [function] [call site] 00046
11 wget_buffer_memcat [function] [call site] 00047
11 wget_buffer_memcat [function] [call site] 00048
11 wget_buffer_memcat [function] [call site] 00049
10 wget_buffer_memset_append [function] [call site] 00050
11 buffer_realloc [function] [call site] 00051
10 read_flag_chars [function] [call site] 00052
10 read_field_width [function] [call site] 00053
11 c_isdigit [function] [call site] 00054
10 read_field_width [function] [call site] 00055
10 read_precision [function] [call site] 00056
11 c_isdigit [function] [call site] 00057
11 c_isdigit [function] [call site] 00058
10 read_precision [function] [call site] 00059
10 copy_string [function] [call site] 00060
11 wget_buffer_strcat [function] [call site] 00061
11 strnlen [call site] 00062
11 strlen [call site] 00063
11 wget_buffer_memcat [function] [call site] 00064
11 wget_buffer_memset_append [function] [call site] 00065
11 wget_buffer_memset_append [function] [call site] 00066
11 wget_buffer_memcat [function] [call site] 00067
11 wget_buffer_memcat [function] [call site] 00068
11 wget_buffer_memcat [function] [call site] 00069
10 copy_string [function] [call site] 00070
10 convert_dec [function] [call site] 00071
11 wget_buffer_memset_append [function] [call site] 00072
11 wget_buffer_memset_append [function] [call site] 00073
11 wget_buffer_memcat [function] [call site] 00074
11 wget_buffer_memset_append [function] [call site] 00075
11 wget_buffer_memcat [function] [call site] 00076
11 wget_buffer_memset_append [function] [call site] 00077
11 wget_buffer_memset_append [function] [call site] 00078
11 wget_buffer_memset_append [function] [call site] 00079
11 wget_buffer_memset_append [function] [call site] 00080
11 wget_buffer_memset_append [function] [call site] 00081
11 wget_buffer_memset_append [function] [call site] 00082
11 wget_buffer_memset_append [function] [call site] 00083
11 wget_buffer_memset_append [function] [call site] 00084
11 wget_buffer_memset_append [function] [call site] 00085
11 wget_buffer_memset_append [function] [call site] 00086
11 wget_buffer_memset_append [function] [call site] 00087
11 wget_buffer_memcat [function] [call site] 00088
11 wget_buffer_memset_append [function] [call site] 00089
11 wget_buffer_memcat [function] [call site] 00090
11 wget_buffer_memset_append [function] [call site] 00091
11 wget_buffer_memset_append [function] [call site] 00092
11 wget_buffer_memcat [function] [call site] 00093
10 convert_dec [function] [call site] 00094
10 convert_dec [function] [call site] 00095
10 convert_dec [function] [call site] 00096
10 convert_dec [function] [call site] 00097
10 convert_dec [function] [call site] 00098
10 wget_buffer_memset_append [function] [call site] 00099
8 wget_buffer_deinit [function] [call site] 00100
8 wget_buffer_deinit [function] [call site] 00101
6 wget_snprintf [function] [call site] 00102
6 wget_snprintf [function] [call site] 00103
5 bar_update_speed_stats [function] [call site] 00104
6 wget_get_timemillis [function] [call site] 00105
7 gettime [function] [call site] 00106
8 clock_gettime [call site] 00107
6 wget_strlcpy [function] [call site] 00108
7 strlen [call site] 00109
6 wget_human_readable [function] [call site] 00110
5 wget_fprintf [function] [call site] 00111
6 wget_vfprintf [function] [call site] 00112
7 wget_buffer_init [function] [call site] 00113
7 wget_buffer_vprintf [function] [call site] 00114
7 wget_buffer_deinit [function] [call site] 00115
7 fwrite [call site] 00116
7 wget_buffer_deinit [function] [call site] 00117
5 bar_inspect_multibyte [function] [call site] 00118
6 strlen [call site] 00119
6 mbtowc [call site] 00120
6 wcwidth [call site] 00121
5 wget_fprintf [function] [call site] 00122
5 fputs [call site] 00123
5 rpl_fflush [function] [call site] 00124
6 __freading [call site] 00125
6 fflush [call site] 00126
6 clear_ungetc_buffer_preserving_position [function] [call site] 00127
7 rpl_fseeko [function] [call site] 00128
8 fseeko [call site] 00129
3 wget_thread_mutex_unlock [function] [call site] 00130
1 wget_bar_free [function] [call site] 00131
2 wget_bar_deinit [function] [call site] 00132
3 wget_thread_mutex_destroy [function] [call site] 00133
4 pthread_mutex_destroy [call site] 00134
1 wget_bar_init [function] [call site] 00135
1 wget_bar_set_slots [function] [call site] 00136
1 wget_bar_slot_begin [function] [call site] 00137
2 wget_thread_mutex_lock [function] [call site] 00138
2 wget_strdup [function] [call site] 00139
3 strlen [call site] 00140
3 wget_memdup [function] [call site] 00141
4 wget_malloc [function] [call site] 00142
2 wget_aprintf [function] [call site] 00143
3 wget_vasprintf [function] [call site] 00144
4 wget_buffer_init [function] [call site] 00145
4 wget_buffer_vprintf [function] [call site] 00146
4 wget_realloc [function] [call site] 00147
2 wget_thread_mutex_unlock [function] [call site] 00148
1 atoi [call site] 00149
1 wget_bar_slot_downloaded [function] [call site] 00150
2 wget_thread_mutex_lock [function] [call site] 00151
2 wget_thread_mutex_unlock [function] [call site] 00152
1 wget_bar_printf [function] [call site] 00153
2 wget_bar_vprintf [function] [call site] 00154
3 wget_malloc [function] [call site] 00155
3 wget_vsnprintf [function] [call site] 00156
3 wget_bar_print [function] [call site] 00157
4 wget_thread_mutex_lock [function] [call site] 00158
4 wget_fprintf [function] [call site] 00159
4 wget_fprintf [function] [call site] 00160
4 fputs [call site] 00161
4 rpl_fflush [function] [call site] 00162
4 wget_thread_mutex_unlock [function] [call site] 00163
1 wget_bar_write_line [function] [call site] 00164
2 wget_thread_mutex_lock [function] [call site] 00165
2 wget_fprintf [function] [call site] 00166
2 fwrite [call site] 00167
2 fputs [call site] 00168
2 fputs [call site] 00169
2 bar_update [function] [call site] 00170
2 wget_thread_mutex_unlock [function] [call site] 00171
1 wget_bar_update [function] [call site] 00172
2 wget_thread_mutex_lock [function] [call site] 00173
2 bar_update [function] [call site] 00174
2 wget_thread_mutex_unlock [function] [call site] 00175
1 wget_bar_slot_deregister [function] [call site] 00176
2 wget_thread_mutex_lock [function] [call site] 00177
2 bar_update_slot [function] [call site] 00178
2 wget_thread_mutex_unlock [function] [call site] 00179
1 wget_bar_slot_deregister [function] [call site] 00180
1 wget_bar_slot_deregister [function] [call site] 00181
1 wget_bar_free [function] [call site] 00182