Fuzz introspector: magic_fuzzer_loaddb
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
176 176 1 :

['apprentice_list']

176 176 apprentice_1 call site /src/file/src/apprentice.c:518
86 246 7 :

['file_error', 'fstat', 'maxoff_t', 'mmap', 'mprotect', 'check_buffer', '__errno_location']

90 261 apprentice_map call site /src/file/src/apprentice.c:3284
40 40 1 :

['file_oomem']

42 53 apprentice_map call site /src/file/src/apprentice.c:3274
40 40 1 :

['file_oomem']

40 40 parse call site /src/file/src/apprentice.c:2061
40 40 1 :

['file_oomem']

40 40 parse call site /src/file/src/apprentice.c:2076
40 40 1 :

['file_oomem']

40 40 addentry call site /src/file/src/apprentice.c:1289
40 40 1 :

['file_oomem']

40 40 coalesce_entries call site /src/file/src/apprentice.c:1475
40 40 1 :

['file_oomem']

40 40 file_check_mem call site /src/file/src/funcs.c:616
20 20 2 :

['get_default_magic', 'getenv']

20 20 magic_getpath call site /src/file/src/magic.c:256
4 4 1 :

['__errno_location']

4 44 load_1 call site /src/file/src/apprentice.c:1319
4 4 2 :

['abort', 'close']

4 4 fuzzer_get_tmpfile(unsignedcharconst*,unsignedlong) call site /src/fuzzer_temp_file.h:47
2 378 4 :

['check_format', 'getvalue', '__ctype_b_loc', 'file_mdump']

2 386 parse call site /src/file/src/apprentice.c:2344

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site2] 00000
1 FuzzerTemporaryFile::FuzzerTemporaryFile(unsigned char const*, unsigned long) [function] [call site2] 00001
2 fuzzer_get_tmpfile(unsigned char const*, unsigned long) [function] [call site2] 00002
3 strdup [call site2] 00003
3 perror [call site2] 00004
3 abort [call site2] 00005
3 mkstemp [call site2] 00006
3 perror [call site2] 00007
3 abort [call site2] 00008
3 fdopen [call site2] 00009
3 perror [call site2] 00010
3 close [call site2] 00011
3 abort [call site2] 00012
3 fwrite [call site2] 00013
3 close [call site2] 00014
3 fprintf [call site2] 00015
3 abort [call site2] 00016
3 fclose [call site2] 00017
1 magic_open [function] [call site2] 00018
2 file_ms_alloc [function] [call site2] 00019
3 calloc [call site2] 00020
3 magic_setflags [function] [call site2] 00021
3 __errno_location [call site2] 00022
3 newlocale [call site2] 00023
3 __assert_fail [call site2] 00024
1 FuzzerTemporaryFile::filename() const [function] [call site2] 00025
1 magic_check [function] [call site2] 00026
2 file_apprentice [function] [call site2] 00027
3 file_reset [function] [call site2] 00028
4 file_error [function] [call site2] 00029
5 file_error_core [function] [call site2] 00030
6 file_clearbuf [function] [call site2] 00031
6 file_printf [function] [call site2] 00032
7 file_vprintf [function] [call site2] 00033
8 file_checkfmt [function] [call site2] 00034
9 strchr [call site2] 00035
9 snprintf [call site2] 00036
9 file_checkfield [function] [call site2] 00037
10 __ctype_b_loc [call site2] 00038
10 snprintf [call site2] 00039
9 file_checkfield [function] [call site2] 00040
9 __ctype_b_loc [call site2] 00041
9 snprintf [call site2] 00042
8 file_clearbuf [function] [call site2] 00043
8 file_error [function] [call site2] 00044
8 vasprintf [call site2] 00045
8 file_clearbuf [function] [call site2] 00046
8 file_error [function] [call site2] 00047
8 asprintf [call site2] 00048
8 file_clearbuf [function] [call site2] 00049
8 __errno_location [call site2] 00050
8 file_error [function] [call site2] 00051
6 file_printf [function] [call site2] 00052
6 file_vprintf [function] [call site2] 00053
6 strerror [call site2] 00054
6 file_printf [function] [call site2] 00055
4 file_clearbuf [function] [call site2] 00056
3 magic_getpath [function] [call site2] 00057
4 getenv [call site2] 00058
4 get_default_magic [function] [call site2] 00059
5 getenv [call site2] 00060
5 asprintf [call site2] 00061
5 stat [call site2] 00062
5 asprintf [call site2] 00063
5 stat [call site2] 00064
5 asprintf [call site2] 00065
5 access [call site2] 00066
5 asprintf [call site2] 00067
3 init_file_tables [function] [call site2] 00068
4 __assert_fail [call site2] 00069
4 __assert_fail [call site2] 00070
3 strdup [call site2] 00071
3 strlen [call site2] 00072
3 file_oomem [function] [call site2] 00073
4 __errno_location [call site2] 00074
4 file_error [function] [call site2] 00075
3 mlist_free [function] [call site2] 00076
4 mlist_free_one [function] [call site2] 00077
5 apprentice_unmap [function] [call site2] 00078
6 munmap [call site2] 00079
6 fprintf [call site2] 00080
6 abort [call site2] 00081
5 file_regfree [function] [call site2] 00082
6 regfree [call site2] 00083
4 mlist_free_one [function] [call site2] 00084
3 mlist_alloc [function] [call site2] 00085
4 calloc [call site2] 00086
3 file_oomem [function] [call site2] 00087
3 mlist_free [function] [call site2] 00088
3 strchr [call site2] 00089
3 apprentice_1 [function] [call site2] 00090
4 file_error [function] [call site2] 00091
4 apprentice_load [function] [call site2] 00092
5 calloc [call site2] 00093
5 file_oomem [function] [call site2] 00094
5 fprintf [call site2] 00095
5 stat [call site2] 00096
5 opendir [call site2] 00097
5 readdir [call site2] 00098
5 asprintf [call site2] 00099
5 strlen [call site2] 00100
5 file_oomem [function] [call site2] 00101
5 closedir [call site2] 00102
5 stat [call site2] 00103
5 realloc [call site2] 00104
5 file_oomem [function] [call site2] 00105
5 closedir [call site2] 00106
5 closedir [call site2] 00107
5 qsort [call site2] 00108
5 cmpstrp [function] [call site2] 00109
6 strcmp [call site2] 00110
5 load_1 [function] [call site2] 00111
6 fopen [call site2] 00112
6 __errno_location [call site2] 00113
6 __errno_location [call site2] 00114
6 file_error [function] [call site2] 00115
6 getline [call site2] 00116
6 memcmp [call site2] 00117
6 file_error [function] [call site2] 00118
6 file_error [function] [call site2] 00119
6 parse [function] [call site2] 00120
7 file_check_mem [function] [call site2] 00121
8 realloc [call site2] 00122
8 file_oomem [function] [call site2] 00123
7 file_magerror [function] [call site2] 00124
8 file_error_core [function] [call site2] 00125
7 file_magerror [function] [call site2] 00126
7 file_magwarn [function] [call site2] 00127
8 fflush [call site2] 00128
8 fprintf [call site2] 00129
8 fprintf [call site2] 00130
8 vfprintf [call site2] 00131
8 fputc [call site2] 00132
7 realloc [call site2] 00133
7 file_oomem [function] [call site2] 00134
7 file_oomem [function] [call site2] 00135
7 file_magwarn [function] [call site2] 00136
7 strtol [call site2] 00137
7 file_magwarn [function] [call site2] 00138
7 file_magwarn [function] [call site2] 00139
7 __ctype_b_loc [call site2] 00141
7 strtol [call site2] 00142
7 file_magwarn [function] [call site2] 00143
7 file_magwarn [function] [call site2] 00144
7 __ctype_b_loc [call site2] 00145
7 get_cond [function] [call site2] 00146
8 strncmp [call site2] 00147
8 __ctype_b_loc [call site2] 00148
7 check_cond [function] [call site2] 00149
8 file_magwarn [function] [call site2] 00150
8 file_magwarn [function] [call site2] 00151
8 file_magwarn [function] [call site2] 00152
7 __ctype_b_loc [call site2] 00153
7 get_type [function] [call site2] 00154
8 strncmp [call site2] 00155
7 get_standard_integer_type [function] [call site2] 00156
8 __ctype_b_loc [call site2] 00157
8 __ctype_b_loc [call site2] 00158
8 __ctype_b_loc [call site2] 00159
7 get_standard_integer_type [function] [call site2] 00161
7 __ctype_b_loc [call site2] 00162
7 file_magwarn [function] [call site2] 00164
7 file_magwarn [function] [call site2] 00165
7 file_magwarn [function] [call site2] 00166
7 file_magwarn [function] [call site2] 00168
7 parse_indirect_modifier [function] [call site2] 00169
8 __ctype_b_loc [call site2] 00170
8 file_magwarn [function] [call site2] 00171
7 parse_string_modifier [function] [call site2] 00172
8 __ctype_b_loc [call site2] 00173
8 file_magwarn [function] [call site2] 00174
8 strtoul [call site2] 00175
8 file_magwarn [function] [call site2] 00176
8 file_magwarn [function] [call site2] 00177
8 __ctype_b_loc [call site2] 00178
8 string_modifier_check [function] [call site2] 00179
9 file_magwarn [function] [call site2] 00180
9 file_magwarn [function] [call site2] 00181
9 file_magwarn [function] [call site2] 00182
9 file_magwarn [function] [call site2] 00183
9 file_magwarn [function] [call site2] 00184
9 file_magwarn [function] [call site2] 00185
9 file_magwarn [function] [call site2] 00186
7 parse_op_modifier [function] [call site2] 00187
8 strtoull [call site2] 00188
8 file_signextend [function] [call site2] 00189
9 file_magwarn [function] [call site2] 00190
8 eatsize [function] [call site2] 00191
9 __ctype_b_loc [call site2] 00192
9 __ctype_b_loc [call site2] 00193
7 __ctype_b_loc [call site2] 00194
7 file_magwarn [function] [call site2] 00195
7 __ctype_b_loc [call site2] 00196
7 getvalue [function] [call site2] 00197
8 getstr [function] [call site2] 00198
9 __ctype_b_loc [call site2] 00199
9 file_error [function] [call site2] 00200
9 file_magwarn [function] [call site2] 00201
9 file_magwarn [function] [call site2] 00202
9 file_magwarn [function] [call site2] 00203
9 __ctype_b_loc [call site2] 00204
9 strchr [call site2] 00205
9 strchr [call site2] 00206
9 file_magwarn [function] [call site2] 00207
9 file_magwarn [function] [call site2] 00208
9 hextoint [function] [call site2] 00209
10 __ctype_b_loc [call site2] 00210
9 file_pstring_length_size [function] [call site2] 00212
10 file_error [function] [call site2] 00213
8 file_magwarn [function] [call site2] 00214
8 file_regcomp [function] [call site2] 00215
9 check_regex [function] [call site2] 00216
10 strchr [call site2] 00217
10 strlen [call site2] 00218
10 file_printable [function] [call site2] 00219
11 __ctype_b_loc [call site2] 00220
10 file_magwarn [function] [call site2] 00221
10 __ctype_b_loc [call site2] 00222
10 strlen [call site2] 00223
10 file_printable [function] [call site2] 00224
10 file_magwarn [function] [call site2] 00225
9 uselocale [call site2] 00226
9 __assert_fail [call site2] 00227
9 regcomp [call site2] 00228
9 uselocale [call site2] 00229
9 regerror [call site2] 00230
9 strlen [call site2] 00231
9 file_printable [function] [call site2] 00232
9 file_magerror [function] [call site2] 00233
8 file_regfree [function] [call site2] 00234
8 __errno_location [call site2] 00235
8 strtof [call site2] 00236
8 __errno_location [call site2] 00237
8 __errno_location [call site2] 00238
8 strtod [call site2] 00239
8 __errno_location [call site2] 00240
8 file_parse_guid [function] [call site2] 00241
9 __isoc99_sscanf [call site2] 00242
8 __errno_location [call site2] 00243
8 strtoull [call site2] 00244
8 file_signextend [function] [call site2] 00245
8 file_magwarn [function] [call site2] 00246
8 file_magwarn [function] [call site2] 00248
8 __ctype_b_loc [call site2] 00249
8 fprintf [call site2] 00250
8 abort [call site2] 00251
8 file_magwarn [function] [call site2] 00252
8 __errno_location [call site2] 00253
7 __ctype_b_loc [call site2] 00255
7 file_magwarn [function] [call site2] 00256
7 check_format [function] [call site2] 00257
8 file_magwarn [function] [call site2] 00258
8 file_magwarn [function] [call site2] 00259
8 check_format_type [function] [call site2] 00260
9 fprintf [call site2] 00261
9 abort [call site2] 00262
9 strchr [call site2] 00263
9 __ctype_b_loc [call site2] 00264
9 __ctype_b_loc [call site2] 00265
9 __ctype_b_loc [call site2] 00266
9 __ctype_b_loc [call site2] 00267
9 __ctype_b_loc [call site2] 00268
9 __ctype_b_loc [call site2] 00269
9 fprintf [call site2] 00270
9 abort [call site2] 00271
8 file_magwarn [function] [call site2] 00272
8 file_magwarn [function] [call site2] 00273
7 file_mdump [function] [call site2] 00274
8 fprintf [call site2] 00275
8 fprintf [call site2] 00276
8 fputc [call site2] 00277
8 fprintf [call site2] 00278
8 fprintf [call site2] 00279
8 fputc [call site2] 00280
8 fputc [call site2] 00281
8 fputc [call site2] 00282
8 fputc [call site2] 00283
8 fputc [call site2] 00284
8 fputc [call site2] 00285
8 fputc [call site2] 00286
8 fputc [call site2] 00287
8 fputc [call site2] 00288
8 fputc [call site2] 00289
8 fputc [call site2] 00290
8 fputc [call site2] 00291
8 fputc [call site2] 00292
8 fprintf [call site2] 00293
8 fputc [call site2] 00294
8 fputc [call site2] 00295
8 fprintf [call site2] 00296
8 fprintf [call site2] 00297
8 fprintf [call site2] 00298
8 file_showstr [function] [call site2] 00299
9 fputc [call site2] 00300
9 fputc [call site2] 00301
9 fputc [call site2] 00302
9 fputc [call site2] 00303
9 fputc [call site2] 00304
9 fputc [call site2] 00305
9 fputc [call site2] 00306
9 fputc [call site2] 00307
9 fputc [call site2] 00308
9 fprintf [call site2] 00309
8 file_fmtdatetime [function] [call site2] 00310
9 cdf_timestamp_to_timespec [function] [call site2] 00311
10 cdf_getdays [function] [call site2] 00312
10 cdf_getday [function] [call site2] 00313
10 cdf_getmonth [function] [call site2] 00314
10 __errno_location [call site2] 00315
9 localtime_r [call site2] 00316
9 gmtime_r [call site2] 00317
9 asctime_r [call site2] 00318
9 strcspn [call site2] 00319
8 file_fmtdatetime [function] [call site2] 00321
8 fprintf [call site2] 00322
8 file_fmtdatetime [function] [call site2] 00323
8 fprintf [call site2] 00324
8 file_fmtdatetime [function] [call site2] 00325
8 fprintf [call site2] 00326
8 file_fmtdatetime [function] [call site2] 00327
8 fprintf [call site2] 00328
8 fprintf [call site2] 00329
8 file_fmtvarint [function] [call site2] 00330
9 file_varint2uintmax_t [function] [call site2] 00331
9 snprintf [call site2] 00332
8 fprintf [call site2] 00333
8 file_fmtdate [function] [call site2] 00334
9 strftime [call site2] 00335
8 file_fmttime [function] [call site2] 00337
9 strftime [call site2] 00338
8 fprintf [call site2] 00340
8 file_fmtnum [function] [call site2] 00341
9 __errno_location [call site2] 00342
9 strtoull [call site2] 00343
9 __errno_location [call site2] 00344
9 snprintf [call site2] 00346
8 fprintf [call site2] 00347
8 fprintf [call site2] 00348
8 file_print_guid [function] [call site2] 00349
9 snprintf [call site2] 00350
8 fprintf [call site2] 00351
8 fprintf [call site2] 00352
8 fprintf [call site2] 00353
6 addentry [function] [call site2] 00354
7 realloc [call site2] 00355
7 file_oomem [function] [call site2] 00356
7 __assert_fail [call site2] 00357
6 fclose [call site2] 00359
5 set_text_binary [function] [call site2] 00361
6 set_test_type [function] [call site2] 00362
7 file_looks_utf8 [function] [call site2] 00363
6 fprintf [call site2] 00364
6 strstr [call site2] 00365
6 __ctype_b_loc [call site2] 00366
6 __ctype_b_loc [call site2] 00367
6 fprintf [call site2] 00368
5 qsort [call site2] 00369
5 apprentice_sort [function] [call site2] 00370
6 apprentice_magic_strength [function] [call site2] 00371
7 apprentice_magic_strength_1 [function] [call site2] 00372
8 file_magwarn [function] [call site2] 00373
8 fprintf [call site2] 00375
8 abort [call site2] 00376
8 fprintf [call site2] 00378
8 abort [call site2] 00379
8 fprintf [call site2] 00380
8 abort [call site2] 00381
7 fprintf [call site2] 00382
7 abort [call site2] 00383
6 apprentice_magic_strength [function] [call site2] 00384
5 set_last_default [function] [call site2] 00385
6 file_magwarn [function] [call site2] 00386
5 coalesce_entries [function] [call site2] 00387
6 file_oomem [function] [call site2] 00388
5 magic_entry_free [function] [call site2] 00389
5 apprentice_unmap [function] [call site2] 00390
4 apprentice_compile [function] [call site2] 00391
5 mkdbname [function] [call site2] 00392
6 strrchr [call site2] 00393
6 asprintf [call site2] 00394
6 access [call site2] 00395
6 asprintf [call site2] 00396
6 strstr [call site2] 00397
5 open [call site2] 00398
5 __errno_location [call site2] 00399
5 file_error [function] [call site2] 00400
5 write [call site2] 00401
5 __errno_location [call site2] 00402
5 file_error [function] [call site2] 00403
5 write [call site2] 00404
5 __errno_location [call site2] 00405
5 file_error [function] [call site2] 00406
5 close [call site2] 00407
5 apprentice_unmap [function] [call site2] 00408
4 apprentice_map [function] [call site2] 00409
5 calloc [call site2] 00410
5 file_oomem [function] [call site2] 00411
5 open [call site2] 00413
5 fstat [call site2] 00414
5 __errno_location [call site2] 00415
5 file_error [function] [call site2] 00416
5 file_error [function] [call site2] 00418
5 mmap [call site2] 00419
5 __errno_location [call site2] 00420
5 file_error [function] [call site2] 00421
5 close [call site2] 00422
5 mprotect [call site2] 00441
5 __errno_location [call site2] 00442
5 file_error [function] [call site2] 00443
5 close [call site2] 00444
5 apprentice_unmap [function] [call site2] 00445
4 file_magwarn [function] [call site2] 00446
4 apprentice_load [function] [call site2] 00447
4 add_mlist [function] [call site2] 00448
5 calloc [call site2] 00449
4 apprentice_unmap [function] [call site2] 00450
4 mlist_free_all [function] [call site2] 00451
5 mlist_free [function] [call site2] 00452
4 file_oomem [function] [call site2] 00453
4 printf [call site2] 00454
4 apprentice_list [function] [call site2] 00455
5 apprentice_magic_strength [function] [call site2] 00456
5 printf [call site2] 00457
4 printf [call site2] 00458
4 apprentice_list [function] [call site2] 00459
3 mlist_free [function] [call site2] 00460
3 file_error [function] [call site2] 00461
3 file_error [function] [call site2] 00462
1 FuzzerTemporaryFile::filename() const [function] [call site2] 00463
1 magic_compile [function] [call site2] 00464
2 file_apprentice [function] [call site2] 00465
1 magic_close [function] [call site2] 00466
2 file_ms_free [function] [call site2] 00467
3 mlist_free [function] [call site2] 00468
3 freelocale [call site2] 00469
1 FuzzerTemporaryFile::~FuzzerTemporaryFile() [function] [call site2] 00470
2 fuzzer_release_tmpfile(char*) [function] [call site2] 00471
3 unlink [call site2] 00472
2 __clang_call_terminate [call site2] 00473
3 __cxa_begin_catch [call site2] 00474