Fuzz introspector: libwget_hpkp_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
33 33 5 :

['__freading', 'fileno', 'rpl_fflush', '__errno_location', 'lseek']

35 35 rpl_fclose call site: 00136 /src/wget2/lib/fclose.c:66
11 11 1 :

['buffer_realloc']

11 11 wget_buffer_memcat call site: 00030 /src/wget2/libwget/buffer.c:384
10 10 4 :

['close', 'open', 'fdopen', '__errno_location']

10 10 rpl_fopen call site: 00121 /src/wget2/lib/fopen.c:211
7 7 2 :

['wget_calloc.143', 'hashmap_rehash']

7 7 hashmap_new_entry call site: 00199 /src/wget2/libwget/hashmap.c:249
6 6 2 :

['__errno_location', 'gettext']

6 6 getline_internal call site: 00179 /src/wget2/libwget/io.c:123
4 4 2 :

['strchr', 'strlen']

16 16 get_x86_features call site: 00000 /src/nettle/fat-x86_64.c:76
2 2 1 :

['memcmp']

6 6 get_x86_features call site: 00000 /src/nettle/fat-x86_64.c:104
2 2 1 :

['gettext']

2 2 wget_hpkp_db_check_pubkey call site: 00244 /src/wget2/libwget/hpkp_db.c:158
2 2 1 :

['gettext']

2 2 wget_hpkp_db_load call site: 00170 /src/wget2/libwget/hpkp_db.c:359
0 34 1 :

['rpl_fclose']

2 36 wget_update_file call site: 00167 /src/wget2/libwget/io.c:520
0 4 1 :

['nettle_sha256_compress']

0 6 nettle_sha256_update call site: 00000 /src/nettle/sha256.c:108
0 0 None 161 645 wget_buffer_vprintf_append call site: 00029 /src/wget2/libwget/buffer_printf.c:346

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 wget_hpkp_db_init [function] [call site] 00001
2 wget_calloc [function] [call site] 00002
2 wget_strdup [function] [call site] 00003
3 strlen [call site] 00004
3 wget_memdup [function] [call site] 00005
4 wget_malloc [function] [call site] 00006
2 wget_hashmap_create [function] [call site] 00007
3 wget_malloc [function] [call site] 00008
3 wget_calloc [function] [call site] 00009
3 rpl_free [function] [call site] 00010
4 __errno_location [call site] 00011
4 __errno_location [call site] 00012
2 hash_hpkp [function] [call site] 00014
2 wget_hashmap_set_key_destructor [function] [call site] 00015
2 wget_hpkp_free [function] [call site] 00016
3 wget_vector_free [function] [call site] 00017
4 wget_vector_clear [function] [call site] 00018
2 wget_thread_mutex_init [function] [call site] 00019
3 wget_malloc [function] [call site] 00020
3 pthread_mutex_init [call site] 00021
1 wget_hpkp_db_load [function] [call site] 00022
2 wget_update_file [function] [call site] 00023
3 wget_aprintf [function] [call site] 00024
4 wget_vasprintf [function] [call site] 00025
5 wget_buffer_init [function] [call site] 00026
6 wget_malloc [function] [call site] 00027
5 wget_buffer_vprintf [function] [call site] 00028
6 wget_buffer_vprintf_append [function] [call site] 00029
7 wget_buffer_memcat [function] [call site] 00030
8 buffer_realloc [function] [call site] 00031
9 wget_realloc [function] [call site] 00032
9 wget_malloc [function] [call site] 00033
7 wget_buffer_strcat [function] [call site] 00034
8 strlen [call site] 00035
8 wget_buffer_memcat [function] [call site] 00036
7 convert_dec_fast [function] [call site] 00037
8 wget_buffer_memcat [function] [call site] 00038
7 wget_buffer_memcat [function] [call site] 00039
7 convert_pointer [function] [call site] 00040
8 wget_buffer_memcat [function] [call site] 00041
8 wget_buffer_memcat [function] [call site] 00042
8 wget_buffer_memcat [function] [call site] 00043
7 wget_buffer_memset_append [function] [call site] 00044
8 buffer_realloc [function] [call site] 00045
7 read_flag_chars [function] [call site] 00046
7 read_field_width [function] [call site] 00047
8 c_isdigit [function] [call site] 00048
7 read_field_width [function] [call site] 00049
7 read_precision [function] [call site] 00050
7 read_precision [function] [call site] 00053
7 copy_string [function] [call site] 00054
8 wget_buffer_strcat [function] [call site] 00055
8 strnlen [call site] 00056
8 strlen [call site] 00057
8 wget_buffer_memcat [function] [call site] 00058
8 wget_buffer_memset_append [function] [call site] 00059
8 wget_buffer_memset_append [function] [call site] 00060
8 wget_buffer_memcat [function] [call site] 00061
8 wget_buffer_memcat [function] [call site] 00062
8 wget_buffer_memcat [function] [call site] 00063
7 copy_string [function] [call site] 00064
7 convert_dec [function] [call site] 00065
8 wget_buffer_memset_append [function] [call site] 00066
8 wget_buffer_memset_append [function] [call site] 00067
8 wget_buffer_memcat [function] [call site] 00068
8 wget_buffer_memset_append [function] [call site] 00069
8 wget_buffer_memcat [function] [call site] 00070
8 wget_buffer_memset_append [function] [call site] 00071
8 wget_buffer_memset_append [function] [call site] 00072
8 wget_buffer_memset_append [function] [call site] 00073
8 wget_buffer_memset_append [function] [call site] 00074
8 wget_buffer_memset_append [function] [call site] 00075
8 wget_buffer_memset_append [function] [call site] 00076
8 wget_buffer_memset_append [function] [call site] 00077
8 wget_buffer_memset_append [function] [call site] 00078
8 wget_buffer_memset_append [function] [call site] 00079
8 wget_buffer_memset_append [function] [call site] 00080
8 wget_buffer_memset_append [function] [call site] 00081
8 wget_buffer_memcat [function] [call site] 00082
8 wget_buffer_memset_append [function] [call site] 00083
8 wget_buffer_memset_append [function] [call site] 00084
8 wget_buffer_memcat [function] [call site] 00085
8 wget_buffer_memset_append [function] [call site] 00086
8 wget_buffer_memset_append [function] [call site] 00087
8 wget_buffer_memcat [function] [call site] 00088
7 convert_dec [function] [call site] 00089
7 convert_dec [function] [call site] 00090
7 convert_dec [function] [call site] 00091
7 convert_dec [function] [call site] 00092
7 convert_dec [function] [call site] 00093
7 wget_buffer_memset_append [function] [call site] 00094
5 wget_realloc [function] [call site] 00095
3 base_name [function] [call site] 00096
4 last_component [function] [call site] 00097
4 base_len [function] [call site] 00098
5 strlen [call site] 00099
4 ximalloc [function] [call site] 00101
5 imalloc [function] [call site] 00102
6 _gl_alloc_nomem [function] [call site] 00103
7 __errno_location [call site] 00104
5 check_nonnull [function] [call site] 00105
6 xalloc_die [function] [call site] 00106
7 gettext [call site] 00107
7 abort [call site] 00108
3 getenv [call site] 00109
3 getenv [call site] 00110
3 getuid [call site] 00111
3 wget_aprintf [function] [call site] 00112
3 getuid [call site] 00113
3 wget_aprintf [function] [call site] 00114
3 open [call site] 00115
3 wget_error_printf [function] [call site] 00116
3 flock [call site] 00117
3 gettext [call site] 00118
3 wget_error_printf [function] [call site] 00119
3 rpl_fopen [function] [call site] 00120
4 strlen [call site] 00121
4 open [call site] 00122
4 fdopen [call site] 00123
4 __errno_location [call site] 00124
4 close [call site] 00125
4 __errno_location [call site] 00126
4 orig_fopen [function] [call site] 00127
5 fopen [function] [call site] 00128
6 dlsym [call site] 00129
6 strcmp [call site] 00130
6 fmemopen [call site] 00131
3 __errno_location [call site] 00132
3 gettext [call site] 00133
3 wget_error_printf [function] [call site] 00134
3 rpl_fclose [function] [call site] 00135
4 fileno [call site] 00136
4 __freading [call site] 00137
4 rpl_fflush [function] [call site] 00138
5 __freading [call site] 00139
5 fflush [call site] 00140
5 clear_ungetc_buffer_preserving_position [function] [call site] 00141
6 rpl_fseeko [function] [call site] 00142
7 fileno [call site] 00143
7 fseeko [call site] 00144
5 fflush [call site] 00145
4 __errno_location [call site] 00146
4 fclose [call site] 00147
4 __errno_location [call site] 00148
3 mkstemp [call site] 00149
3 gettext [call site] 00150
3 wget_error_printf [function] [call site] 00151
3 fdopen [call site] 00152
3 unlink [call site] 00153
3 close [call site] 00154
3 gettext [call site] 00155
3 wget_error_printf [function] [call site] 00156
3 unlink [call site] 00157
3 rpl_fclose [function] [call site] 00158
3 unlink [call site] 00159
3 gettext [call site] 00160
3 wget_error_printf [function] [call site] 00161
3 rename [call site] 00162
3 gettext [call site] 00163
3 wget_error_printf [function] [call site] 00164
3 gettext [call site] 00165
3 wget_error_printf [function] [call site] 00166
3 wget_debug_printf [function] [call site] 00167
3 rpl_fclose [function] [call site] 00168
3 close [call site] 00169
2 hpkp_db_load [function] [call site] 00170
3 time [call site] 00171
3 fileno [call site] 00172
3 wget_getline [function] [call site] 00173
4 getline_internal [function] [call site] 00174
5 wget_malloc [function] [call site] 00175
5 memchr [call site] 00176
5 memchr [call site] 00177
5 wget_realloc [function] [call site] 00178
5 __errno_location [call site] 00179
5 __errno_location [call site] 00180
5 gettext [call site] 00181
5 wget_error_printf [function] [call site] 00182
3 __ctype_b_loc [call site] 00183
3 wget_hpkp_db_add [function] [call site] 00184
4 wget_thread_mutex_lock [function] [call site] 00185
4 wget_vector_size [function] [call site] 00186
4 wget_hashmap_remove [function] [call site] 00187
5 hashmap_remove_entry [function] [call site] 00188
4 wget_debug_printf [function] [call site] 00189
4 wget_hpkp_free [function] [call site] 00190
4 wget_hashmap_get [function] [call site] 00191
5 hashmap_find_entry [function] [call site] 00192
4 wget_vector_free [function] [call site] 00193
4 wget_debug_printf [function] [call site] 00194
4 wget_hpkp_free [function] [call site] 00195
4 wget_hashmap_put [function] [call site] 00196
5 hashmap_find_entry [function] [call site] 00197
5 hashmap_new_entry [function] [call site] 00198
6 wget_malloc [function] [call site] 00199
6 wget_calloc [function] [call site] 00200
6 hashmap_rehash [function] [call site] 00201
4 wget_thread_mutex_unlock [function] [call site] 00202
5 pthread_mutex_unlock [call site] 00203
3 __isoc99_sscanf [call site] 00204
3 wget_hpkp_new [function] [call site] 00205
4 wget_calloc [function] [call site] 00206
4 time [call site] 00207
3 wget_strdup [function] [call site] 00208
3 wget_debug_printf [function] [call site] 00209
3 gettext [call site] 00210
3 wget_error_printf [function] [call site] 00211
3 __isoc99_sscanf [call site] 00212
3 wget_hpkp_pin_add [function] [call site] 00213
4 wget_calloc [function] [call site] 00214
4 strlen [call site] 00215
4 wget_strdup [function] [call site] 00216
4 wget_strdup [function] [call site] 00217
4 wget_base64_decode_alloc [function] [call site] 00218
5 wget_base64_get_decoded_length [function] [call site] 00219
5 wget_malloc [function] [call site] 00220
5 wget_base64_decode [function] [call site] 00221
4 wget_vector_create [function] [call site] 00223
5 wget_calloc [function] [call site] 00224
5 wget_malloc [function] [call site] 00225
4 compare_pin [function] [call site] 00227
5 strcmp [call site] 00228
5 memcmp [call site] 00229
4 wget_vector_set_destructor [function] [call site] 00230
4 hpkp_pin_free [function] [call site] 00231
4 wget_vector_add [function] [call site] 00232
5 insert_element [function] [call site] 00233
6 wget_realloc [function] [call site] 00234
3 gettext [call site] 00235
3 wget_error_printf [function] [call site] 00236
3 wget_debug_printf [function] [call site] 00237
3 wget_hpkp_db_add [function] [call site] 00238
3 ferror [call site] 00239
2 gettext [call site] 00240
2 wget_error_printf [function] [call site] 00241
2 wget_debug_printf [function] [call site] 00242
1 wget_hpkp_db_check_pubkey [function] [call site] 00243
2 wget_hash_get_len [function] [call site] 00244
2 gettext [call site] 00245
2 wget_error_printf [function] [call site] 00246
2 wget_hashmap_get [function] [call site] 00247
2 wget_hash_fast [function] [call site] 00248
3 wget_hash_init [function] [call site] 00249
4 wget_malloc [function] [call site] 00250
4 wget_malloc [function] [call site] 00251
3 wget_hash [function] [call site] 00252
3 wget_hash_deinit [function] [call site] 00253
2 wget_vector_find [function] [call site] 00254
1 wget_hpkp_db_free [function] [call site] 00255
2 wget_hpkp_db_deinit [function] [call site] 00256
3 wget_thread_mutex_lock [function] [call site] 00257
3 wget_hashmap_free [function] [call site] 00258
4 wget_hashmap_clear [function] [call site] 00259
3 wget_thread_mutex_unlock [function] [call site] 00260
3 wget_thread_mutex_destroy [function] [call site] 00261
4 pthread_mutex_destroy [call site] 00262