Fuzz introspector: fuzz_dlltool
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
988 988 1 :

['bfd_init_section_compress_status']

990 1016 _bfd_elf_make_section_from_shdr call site: 00000 /src/binutils-gdb/bfd/elf.c:1220
988 988 1 :

['bfd_init_section_compress_status']

990 992 make_a_section_from_file call site: 00000 /src/binutils-gdb/bfd/coffgen.c:249
636 869 16 :

['def_code', 'def_exports', 'def_import', 'def_data', 'def_version', 'malloc', 'xmalloc', 'yylex', 'def_section', 'def_description', 'def_library', 'yyerror', 'def_heapsize', 'strlen', 'def_name', 'def_stacksize']

636 877 yyparse call site: 00162 /src/binutils-gdb/binutils/defparse.c:2111
510 510 2 :

['try_load_plugin', 'build_plugin_list']

510 510 load_plugin call site: 00000 /src/binutils-gdb/bfd/plugin.c:571
316 398 6 :

['bfd_get_error', 'bfd_read', 'som_object_setup', 'som_swap_exec_auxhdr_in', 'bfd_zalloc', 'setup_sections']

316 420 som_object_p call site: 00000 /src/binutils-gdb/bfd/som.c:2489
266 1675 26 :

['alpha_vms_add_fixup_lp', 'bfd_getl64', 'alpha_vms_add_fixup_lr', '_bfd_vms_push', 'bfd_getl16', '_bfd_vms_get_value', 'image_write_w', 'image_write_q', 'image_write_l', 'dst_define_location', 'alpha_vms_add_lw_reloc', 'image_write', 'image_set_ptr', 'image_inc_ptr', 'alpha_vms_add_fixup_ca', 'dst_restore_location', 'dst_retrieve_location', 'alpha_vms_fix_sec_rel', '_bfd_abort', 'alpha_vms_add_fixup_qr', '_bfd_vms_pop', 'alpha_vms_get_sym_value', 'alpha_vms_add_qw_reloc', 'bfd_getl32', 'image_write_b', 'alpha_vms_sym_to_ctxt']

292 2251 _bfd_vms_slurp_etir call site: 00000 /src/binutils-gdb/bfd/vms-alpha.c:1987
221 223 10 :

['strcmp', 'bfd_elf_add_obj_attr_int', 'elf_add_obj_attr_int_string', '_bfd_abort', 'dgettext', '_bfd_error_handler', '_bfd_elf_obj_attrs_arg_type', '_bfd_safe_read_leb128', 'strnlen', 'elf_add_obj_attr_string']

221 223 _bfd_elf_parse_attributes call site: 00000 /src/binutils-gdb/bfd/elf-attrs.c:496
169 929 10 :

['bfd_write', 'bfd_malloc', 'bfd_read', 'bfd_zmalloc', 'bfd_seek', 'bfd_create', 'bfd_close', 'free', 'bfd_getl32', 'bfd_make_writable']

169 1028 pdb_get_elt_at_index call site: 00000 /src/binutils-gdb/bfd/pdb.c:124
108 182 5 :

['_bfd_alloc_and_read.98294', 'ecoff_slurp_symbolic_header', 'bfd_alloc', 'bfd_seek', 'bfd_set_error']

108 182 _bfd_ecoff_slurp_symbolic_info call site: 00000 /src/binutils-gdb/bfd/ecoff.c:532
71 73 3 :

['dgettext', '_bfd_error_handler', 'bfd_link_hash_lookup']

71 73 _bfd_vms_get_value call site: 00000 /src/binutils-gdb/bfd/vms-alpha.c:1786
61 138 3 :

['bfd_make_section_with_flags', 'ppcboot_mkobject', 'ppcboot_set_arch_mach']

61 149 ppcboot_object_p call site: 00000 /src/binutils-gdb/bfd/ppcboot.c:180
41 142 7 :

['bfd_get_error', 'bfd_set_error', 'dgettext', '_bfd_real_fseek', '_bfd_error_handler', 'bfd_errmsg', 'bfd_open_file']

41 142 bfd_cache_lookup_worker call site: 00000 /src/binutils-gdb/bfd/cache.c:247

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 getpid [call site] 00001
1 fopen [call site] 00002
1 fwrite [call site] 00003
1 fclose [call site] 00004
1 getpid [call site] 00005
1 fopen [call site] 00006
1 fwrite [call site] 00007
1 fclose [call site] 00008
1 callIntoDlltool [function] [call site] 00009
2 init_dlltool_global_state [function] [call site] 00010
2 process_def_file [function] [call site] 00011
3 fopen [call site] 00012
3 gettext [call site] 00013
3 fatal [function] [call site] 00014
4 report [function] [call site] 00015
5 fflush [call site] 00016
5 fprintf [call site] 00017
5 vfprintf [call site] 00018
5 putc [call site] 00019
3 gettext [call site] 00022
3 yyparse [function] [call site] 00025
4 yylex [function] [call site] 00026
5 yyensure_buffer_stack [function] [call site] 00027
6 yy_fatal_error [function] [call site] 00029
7 fprintf [call site] 00030
7 exit [call site] 00031
6 yyrealloc [function] [call site] 00032
7 realloc [call site] 00033
6 yy_fatal_error [function] [call site] 00034
5 yy_create_buffer [function] [call site] 00035
6 yy_fatal_error [function] [call site] 00037
6 yy_fatal_error [function] [call site] 00039
6 yy_init_buffer [function] [call site] 00040
7 __errno_location [call site] 00041
7 yy_flush_buffer [function] [call site] 00042
8 yy_load_buffer_state [function] [call site] 00043
7 fileno [call site] 00044
7 __errno_location [call site] 00045
5 yy_load_buffer_state [function] [call site] 00046
5 strtol [call site] 00047
5 xstrdup [function] [call site] 00048
6 strlen [call site] 00049
6 xmalloc [function] [call site] 00050
7 xmalloc_failed [function] [call site] 00051
8 sbrk [call site] 00052
8 sbrk [call site] 00053
8 fprintf [call site] 00054
5 fwrite [call site] 00059
5 yy_get_previous_state [function] [call site] 00060
5 yy_try_NUL_trans [function] [call site] 00061
5 yy_get_next_buffer [function] [call site] 00062
6 yy_fatal_error [function] [call site] 00063
6 yyrealloc [function] [call site] 00064
6 yy_fatal_error [function] [call site] 00065
6 getc [call site] 00066
6 yy_fatal_error [function] [call site] 00067
6 yyrestart [function] [call site] 00068
7 yyensure_buffer_stack [function] [call site] 00069
7 yy_create_buffer [function] [call site] 00070
7 yy_init_buffer [function] [call site] 00071
7 yy_load_buffer_state [function] [call site] 00072
6 yyrealloc [function] [call site] 00073
6 yy_fatal_error [function] [call site] 00074
5 yy_get_previous_state [function] [call site] 00075
5 yy_get_previous_state [function] [call site] 00076
5 yy_fatal_error [function] [call site] 00077
4 def_name [function] [call site] 00078
5 gettext [call site] 00079
5 gettext [call site] 00081
5 set_dll_name_from_def [function] [call site] 00084
6 lbasename [function] [call site] 00085
7 unix_lbasename [function] [call site] 00086
6 gettext [call site] 00087
6 non_fatal [function] [call site] 00088
6 strchr [call site] 00089
6 strlen [call site] 00090
6 sprintf [call site] 00092
4 def_description [function] [call site] 00094
4 def_stacksize [function] [call site] 00097
5 sprintf [call site] 00098
5 sprintf [call site] 00099
4 def_heapsize [function] [call site] 00104
5 sprintf [call site] 00105
5 sprintf [call site] 00106
5 new_directive [function] [call site] 00108
4 def_code [function] [call site] 00109
5 def_section [function] [call site] 00110
6 sprintf [call site] 00111
6 new_directive [function] [call site] 00113
4 def_data [function] [call site] 00114
5 def_section [function] [call site] 00115
4 def_version [function] [call site] 00116
5 gettext [call site] 00117
4 def_version [function] [call site] 00118
4 def_exports [function] [call site] 00119
5 strchr [call site] 00121
4 def_import [function] [call site] 00139
4 def_import [function] [call site] 00140
4 def_import [function] [call site] 00141
4 def_import [function] [call site] 00142
4 def_import [function] [call site] 00143
4 def_import [function] [call site] 00144
4 def_import [function] [call site] 00145
4 def_section [function] [call site] 00146
4 strlen [call site] 00147
4 sprintf [call site] 00149
4 strlen [call site] 00150
4 sprintf [call site] 00152
4 strlen [call site] 00153
4 sprintf [call site] 00155
4 strlen [call site] 00156
4 sprintf [call site] 00158
4 yyerror [function] [call site] 00159
5 gettext [call site] 00160
5 non_fatal [function] [call site] 00161
4 yydestruct [function] [call site] 00162
4 yydestruct [function] [call site] 00163
4 yydestruct [function] [call site] 00165
4 yydestruct [function] [call site] 00166
3 gettext [call site] 00167
2 scan_obj_file [function] [call site] 00169
3 bfd_openr [function] [call site] 00170
4 bfd_fopen [function] [call site] 00171
5 _bfd_new_bfd [function] [call site] 00172
6 bfd_zmalloc [function] [call site] 00173
7 bfd_malloc [function] [call site] 00174
8 bfd_set_error [function] [call site] 00175
9 _bfd_abort [function] [call site] 00176
10 dgettext [call site] 00177
10 _bfd_error_handler [function] [call site] 00178
10 dgettext [call site] 00179
10 _bfd_error_handler [function] [call site] 00180
10 dgettext [call site] 00181
10 _bfd_error_handler [function] [call site] 00182
10 _exit [call site] 00183
8 bfd_set_error [function] [call site] 00184
6 objalloc_create [function] [call site] 00185
6 bfd_set_error [function] [call site] 00186
6 bfd_hash_table_init_n [function] [call site] 00187
7 bfd_set_error [function] [call site] 00188
7 objalloc_create [function] [call site] 00189
7 bfd_set_error [function] [call site] 00190
7 _objalloc_alloc [function] [call site] 00191
8 _objalloc_alloc [function] [call site] 00192
7 bfd_hash_table_free [function] [call site] 00193
8 objalloc_free [function] [call site] 00194
7 bfd_set_error [function] [call site] 00195
6 bfd_section_hash_newfunc [function] [call site] 00196
7 bfd_hash_allocate [function] [call site] 00197
8 _objalloc_alloc [function] [call site] 00198
8 bfd_set_error [function] [call site] 00199
7 bfd_hash_newfunc [function] [call site] 00200
8 bfd_hash_allocate [function] [call site] 00201
6 objalloc_free [function] [call site] 00202
5 close [call site] 00203
5 bfd_find_target [function] [call site] 00204
6 getenv [call site] 00205
6 strcmp [call site] 00206
6 find_target [function] [call site] 00207
7 strcmp [call site] 00208
7 fnmatch [call site] 00209
7 bfd_set_error [function] [call site] 00210
5 close [call site] 00211
5 _bfd_delete_bfd [function] [call site] 00212
6 bfd_hash_table_free [function] [call site] 00213
6 objalloc_free [function] [call site] 00214
6 bfd_get_filename [function] [call site] 00215
5 fdopen [call site] 00216
5 _bfd_real_fopen [function] [call site] 00217
6 fopen64 [call site] 00218
6 close_on_exec [function] [call site] 00219
7 fcntl [call site] 00220
5 bfd_set_error [function] [call site] 00221
5 close [call site] 00222
5 _bfd_delete_bfd [function] [call site] 00223
5 bfd_set_filename [function] [call site] 00224
6 strlen [call site] 00225
6 bfd_alloc [function] [call site] 00226
7 bfd_set_error [function] [call site] 00227
7 _objalloc_alloc [function] [call site] 00228
7 bfd_set_error [function] [call site] 00229
6 bfd_set_error [function] [call site] 00230
5 fclose [call site] 00231
5 _bfd_delete_bfd [function] [call site] 00232
5 bfd_cache_init [function] [call site] 00233
6 bfd_assert [function] [call site] 00234
7 dgettext [call site] 00235
6 bfd_cache_max_open [function] [call site] 00236
7 getrlimit [call site] 00237
7 sysconf [call site] 00238
6 close_one [function] [call site] 00239
7 _bfd_real_ftell [function] [call site] 00240
8 ftello64 [call site] 00241
7 bfd_cache_delete [function] [call site] 00242
8 fclose [call site] 00243
8 bfd_set_error [function] [call site] 00244
5 fclose [call site] 00247
5 _bfd_delete_bfd [function] [call site] 00248
5 bfd_set_cacheable [function] [call site] 00249
3 gettext [call site] 00250
3 bfd_get_error [function] [call site] 00251
3 gettext [call site] 00253
3 bfd_check_format [function] [call site] 00255
4 bfd_check_format_matches [function] [call site] 00256
5 bfd_set_error [function] [call site] 00257
5 bfd_malloc [function] [call site] 00258
5 bfd_set_error_handler [function] [call site] 00259
5 null_error_handler [function] [call site] 00260
5 _bfd_set_error_handler_caching [function] [call site] 00261
6 bfd_set_error_handler [function] [call site] 00262
5 bfd_preserve_save [function] [call site] 00263
6 bfd_alloc [function] [call site] 00264
6 bfd_hash_table_init [function] [call site] 00265
7 bfd_hash_table_init_n [function] [call site] 00266
6 bfd_section_hash_newfunc [function] [call site] 00267
5 bfd_seek [function] [call site] 00268
6 bfd_is_thin_archive [function] [call site] 00269
6 bfd_set_error [function] [call site] 00270
6 bfd_assert [function] [call site] 00271
6 __errno_location [call site] 00272
6 bfd_set_error [function] [call site] 00273
6 bfd_set_error [function] [call site] 00274
5 bfd_reinit [function] [call site] 00275
6 io_reinit [function] [call site] 00276
7 bfd_cache_close [function] [call site] 00277
8 bfd_cache_delete [function] [call site] 00278
7 bfd_open_file [function] [call site] 00279
8 bfd_cache_max_open [function] [call site] 00280
8 close_one [function] [call site] 00281
8 bfd_get_filename [function] [call site] 00282
8 _bfd_real_fopen [function] [call site] 00283
8 bfd_get_filename [function] [call site] 00284
8 _bfd_real_fopen [function] [call site] 00285
8 bfd_get_filename [function] [call site] 00286
8 _bfd_real_fopen [function] [call site] 00287
8 bfd_get_filename [function] [call site] 00288
8 stat [call site] 00289
8 bfd_get_filename [function] [call site] 00290
8 unlink_if_ordinary [function] [call site] 00291
9 lstat [call site] 00292
8 bfd_get_filename [function] [call site] 00293
8 _bfd_real_fopen [function] [call site] 00294
8 bfd_set_error [function] [call site] 00295
8 bfd_cache_init [function] [call site] 00296
6 bfd_section_list_clear [function] [call site] 00297
5 bfd_release [function] [call site] 00298
6 objalloc_free_block [function] [call site] 00299
7 abort [call site] 00300
5 bfd_alloc [function] [call site] 00301
5 bfd_has_map [function] [call site] 00303
5 bfd_get_error [function] [call site] 00304
5 bfd_preserve_save [function] [call site] 00305
5 bfd_preserve_restore [function] [call site] 00306
6 bfd_hash_table_free [function] [call site] 00307
6 io_reinit [function] [call site] 00308
6 bfd_release [function] [call site] 00309
5 bfd_reinit [function] [call site] 00310
5 bfd_release [function] [call site] 00311
5 bfd_assert [function] [call site] 00313
5 bfd_preserve_finish [function] [call site] 00314
6 bfd_hash_table_free [function] [call site] 00315
5 bfd_preserve_finish [function] [call site] 00316
5 bfd_set_error_handler [function] [call site] 00317
5 _bfd_per_xvec_warn [function] [call site] 00318
6 bfd_malloc [function] [call site] 00319
5 print_warnmsg [function] [call site] 00320
6 fflush [call site] 00321
6 _bfd_get_error_program_name [function] [call site] 00322
6 fprintf [call site] 00323
6 fputs [call site] 00324
6 fputc [call site] 00325
6 fflush [call site] 00326
5 _bfd_per_xvec_warn [function] [call site] 00327
5 clear_warnmsg [function] [call site] 00328
5 bfd_set_error [function] [call site] 00329
5 bfd_set_error [function] [call site] 00330
5 bfd_preserve_finish [function] [call site] 00331
5 bfd_preserve_restore [function] [call site] 00332
5 bfd_set_error_handler [function] [call site] 00333
5 _bfd_per_xvec_warn [function] [call site] 00334
5 print_warnmsg [function] [call site] 00335
5 clear_warnmsg [function] [call site] 00336
3 bfd_openr_next_archived_file [function] [call site] 00337
4 bfd_get_format [function] [call site] 00338
4 bfd_set_error [function] [call site] 00339
3 bfd_check_format [function] [call site] 00340
3 scan_open_obj_file [function] [call site] 00341
4 scan_all_symbols [function] [call site] 00342
5 bfd_get_section_by_name [function] [call site] 00343
6 bfd_hash_lookup [function] [call site] 00344
7 bfd_hash_hash [function] [call site] 00345
8 bfd_assert [function] [call site] 00346
7 strcmp [call site] 00347
7 _objalloc_alloc [function] [call site] 00348
7 bfd_hash_insert [function] [call site] 00349
8 higher_prime_number [function] [call site] 00350
8 _objalloc_alloc [function] [call site] 00351
5 bfd_get_file_flags [function] [call site] 00352
5 gettext [call site] 00353
5 bfd_get_filename [function] [call site] 00354
5 non_fatal [function] [call site] 00355
5 bfd_get_filename [function] [call site] 00356
5 bfd_fatal [function] [call site] 00357
6 bfd_nonfatal [function] [call site] 00358
7 bfd_get_error [function] [call site] 00359
7 gettext [call site] 00360
7 bfd_errmsg [function] [call site] 00361
8 bfd_errmsg [function] [call site] 00362
9 dgettext [call site] 00363
9 bfd_get_filename [function] [call site] 00364
9 bfd_asprintf [function] [call site] 00365
10 vasprintf [call site] 00366
10 bfd_set_error [function] [call site] 00367
9 __errno_location [call site] 00368
9 xstrerror [function] [call site] 00369
10 sprintf [call site] 00370
9 dgettext [call site] 00371
7 fflush [call site] 00372
7 fprintf [call site] 00373
7 fprintf [call site] 00374
5 gettext [call site] 00376
5 bfd_get_filename [function] [call site] 00377
5 non_fatal [function] [call site] 00378
5 filter_symbols [function] [call site] 00379
6 bfd_get_filename [function] [call site] 00380
6 bfd_fatal [function] [call site] 00381
6 bfd_get_filename [function] [call site] 00382
6 bfd_fatal [function] [call site] 00383
6 bfd_is_com_section [function] [call site] 00384
6 bfd_is_und_section [function] [call site] 00385
6 match_exclude [function] [call site] 00386
7 strcmp [call site] 00387
5 scan_filtered_symbols [function] [call site] 00388
6 bfd_get_filename [function] [call site] 00389
6 bfd_fatal [function] [call site] 00390
6 bfd_get_filename [function] [call site] 00391
6 bfd_fatal [function] [call site] 00392
6 bfd_asymbol_name [function] [call site] 00393
6 bfd_get_symbol_leading_char [function] [call site] 00394
6 def_exports [function] [call site] 00396
6 strchr [call site] 00397
6 strchr [call site] 00399
6 def_exports [function] [call site] 00401
4 scan_drectve_symbols [function] [call site] 00402
5 bfd_get_section_by_name [function] [call site] 00403
5 bfd_section_size [function] [call site] 00404
5 bfd_get_section_contents [function] [call site] 00406
6 bfd_get_section_limit_octets [function] [call site] 00407
6 bfd_set_error [function] [call site] 00408
6 bfd_set_error [function] [call site] 00409
5 gettext [call site] 00410
5 bfd_get_filename [function] [call site] 00411
5 startswith [function] [call site] 00413
6 strlen [call site] 00414
5 startswith [function] [call site] 00416
5 def_exports [function] [call site] 00417
5 strchr [call site] 00418
5 strchr [call site] 00420
5 def_exports [function] [call site] 00422
4 gettext [call site] 00423
4 bfd_get_filename [function] [call site] 00424
3 bfd_openr_next_archived_file [function] [call site] 00426
3 bfd_close [function] [call site] 00427
4 bfd_close_all_done [function] [call site] 00428
5 _maybe_make_executable [function] [call site] 00429
6 bfd_get_filename [function] [call site] 00430
6 stat [call site] 00431
6 umask [call site] 00432
6 umask [call site] 00433
6 bfd_get_filename [function] [call site] 00434
6 chmod [call site] 00435
5 _bfd_delete_bfd [function] [call site] 00436
3 bfd_check_format [function] [call site] 00437
3 scan_open_obj_file [function] [call site] 00438
3 bfd_close [function] [call site] 00439
1 callIntoDlltool [function] [call site] 00440
1 unlink [call site] 00441
1 unlink [call site] 00442