Fuzz introspector: fuzz_cfg_parser
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
241 241 2 :

['strlen', 'ring_write']

243 373 print_message call site: 00056 /src/haproxy/src/errors.c:272
2 2 1 :

['strcmp']

2 379 parse_cfg call site: 00691 /src/haproxy/src/cfgparse.c:2699
0 0 None 3080 18007 parse_cfg call site: 00190 /src/haproxy/src/cfgparse.c:1947
0 0 None 3080 18007 parse_cfg call site: 00233 /src/haproxy/src/cfgparse.c:2069
0 0 None 3080 18007 parse_cfg call site: 00236 /src/haproxy/src/cfgparse.c:2102
0 0 None 3080 18007 parse_cfg call site: 00683 /src/haproxy/src/cfgparse.c:2638
0 0 None 3080 18007 parse_cfg call site: 00687 /src/haproxy/src/cfgparse.c:2665
0 0 None 3080 18007 parse_cfg call site: 00687 /src/haproxy/src/cfgparse.c:2667
0 0 None 734 734 warn_exec_path call site: 00003 /src/haproxy/src/errors.c:310
0 0 None 571 1257 cfg_parse_cond_term call site: 00524 /src/haproxy/src/cfgcond.c:102
0 0 None 243 503 print_message call site: 00017 /src/haproxy/src/errors.c:263
0 0 None 4 4 cfg_apply_default_path call site: 00168 /src/haproxy/src/cfgparse.c:1655

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 parse_cfg [function] [call site] 00001
2 ha_alert [function] [call site] 00002
3 warn_exec_path [function] [call site] 00003
4 get_exec_path [function] [call site] 00004
5 getauxval [call site] 00005
4 print_message_args [function] [call site] 00006
5 print_message [function] [call site] 00007
6 strncpy [call site] 00008
6 strlen [call site] 00009
6 getpid [call site] 00010
6 memprintf [function] [call site] 00011
7 memvprintf [function] [call site] 00012
8 vsnprintf [call site] 00013
8 my_realloc2 [function] [call site] 00014
9 realloc [call site] 00015
6 memvprintf [function] [call site] 00016
6 strlen [call site] 00017
6 reset_usermsgs_ctx [function] [call site] 00056
6 strlen [call site] 00057
6 strlen [call site] 00058
6 ring_write [function] [call site] 00059
7 varint_bytes [function] [call site] 00060
7 vp_ring_to_data [function] [call site] 00061
7 vp_peek_varint_ofs [function] [call site] 00064
8 vp_get_varint_ofs [function] [call site] 00065
7 vp_data_to_ring [function] [call site] 00070
7 vp_ring_to_room [function] [call site] 00071
7 vp_put_varint [function] [call site] 00072
8 vp_put_varint_ofs [function] [call site] 00073
7 vp_putblk [function] [call site] 00078
8 vp_putblk_ofs [function] [call site] 00079
7 vp_putblk [function] [call site] 00081
7 vp_putchr [function] [call site] 00082
7 _mt_list_lock_next [function] [call site] 00083
8 mt_list_wait [function] [call site] 00084
9 mt_list_prng [function] [call site] 00085
7 _mt_list_unlock_prev [function] [call site] 00086
7 _task_wakeup [function] [call site] 00087
8 complain [function] [call site] 00088
9 strlen [call site] 00089
9 write [call site] 00090
9 mark_tainted [function] [call site] 00091
9 mark_tainted [function] [call site] 00092
8 ha_backtrace_to_stderr [function] [call site] 00093
9 ha_dump_backtrace [function] [call site] 00095
10 sigemptyset [call site] 00096
10 sigprocmask [call site] 00097
10 snprintf [call site] 00098
10 chunk_appendf [function] [call site] 00099
11 vsnprintf [call site] 00100
10 dump_addr_and_bytes [function] [call site] 00101
11 chunk_appendf [function] [call site] 00102
11 may_access [function] [call site] 00103
12 stat [call site] 00104
12 __errno_location [call site] 00105
11 chunk_appendf [function] [call site] 00106
11 chunk_appendf [function] [call site] 00107
10 resolve_sym_name [function] [call site] 00108
11 chunk_appendf [function] [call site] 00109
11 chunk_appendf [function] [call site] 00110
11 chunk_appendf [function] [call site] 00111
11 chunk_appendf [function] [call site] 00112
10 may_access [function] [call site] 00113
10 resolve_sym_name [function] [call site] 00114
10 chunk_appendf [function] [call site] 00115
10 sigprocmask [call site] 00116
9 write [call site] 00117
8 strlen [call site] 00118
8 write [call site] 00119
8 __task_wakeup [function] [call site] 00120
9 now_mono_time [function] [call site] 00121
10 clock_gettime [call site] 00122
9 eb32_insert [function] [call site] 00123
10 eb_dotag [function] [call site] 00124
10 eb_gettag [function] [call site] 00125
10 eb_untag [function] [call site] 00126
10 eb_insert_dup [function] [call site] 00128
11 eb_dotag [function] [call site] 00129
11 eb_gettag [function] [call site] 00130
11 eb_untag [function] [call site] 00131
7 _mt_list_unlock_next [function] [call site] 00132
7 mt_list_unlock_link [function] [call site] 00133
6 usermsgs_put [function] [call site] 00161
6 fprintf [call site] 00162
6 fflush [call site] 00163
4 print_message_args [function] [call site] 00164
3 print_message [function] [call site] 00165
2 cfg_apply_default_path [function] [call site] 00166
3 strrchr [call site] 00167
3 getcwd [call site] 00168
3 __errno_location [call site] 00169
3 strerror [call site] 00170
3 memprintf [function] [call site] 00171
3 chdir [call site] 00172
3 __errno_location [call site] 00173
3 strerror [call site] 00174
3 memprintf [function] [call site] 00175
3 snprintf [call site] 00176
3 memprintf [function] [call site] 00177
3 memprintf [function] [call site] 00178
3 memprintf [function] [call site] 00179
3 chdir [call site] 00180
3 __errno_location [call site] 00181
3 strerror [call site] 00182
3 memprintf [function] [call site] 00183
2 fgets_from_mem [function] [call site] 00185
3 memchr [call site] 00186
2 strlen [call site] 00189
2 realloc [call site] 00190
2 __ctype_b_loc [call site] 00192
2 cfg_parse_scope [function] [call site] 00193
3 strchr [call site] 00194
3 my_strndup [function] [call site] 00196
3 invalid_char [function] [call site] 00197
4 __ctype_b_loc [call site] 00198
3 __ctype_b_loc [call site] 00200
2 parse_line [function] [call site] 00202
3 toupper [call site] 00204
3 toupper [call site] 00205
3 __ctype_b_loc [call site] 00206
3 __ctype_b_loc [call site] 00207
3 __ctype_b_loc [call site] 00208
3 __ctype_b_loc [call site] 00209
3 strcmp [call site] 00210
3 strcmp [call site] 00213
3 strcmp [call site] 00214
3 getenv [call site] 00215
3 __ctype_b_loc [call site] 00216
3 __ctype_b_loc [call site] 00217
3 __ctype_b_loc [call site] 00218
2 sanitize_for_printing [function] [call site] 00219
3 __ctype_b_loc [call site] 00220
3 __ctype_b_loc [call site] 00221
2 sanitize_for_printing [function] [call site] 00223
2 sanitize_for_printing [function] [call site] 00225
2 sanitize_for_printing [function] [call site] 00227
2 sanitize_for_printing [function] [call site] 00229
2 my_realloc2 [function] [call site] 00231
2 strlen [call site] 00234
2 sanitize_for_printing [function] [call site] 00235
2 ha_warning [function] [call site] 00236
3 warn_exec_path [function] [call site] 00237
3 print_message [function] [call site] 00238
2 qfprintf [function] [call site] 00239
3 vfprintf [call site] 00240
3 fflush [call site] 00241
2 strcmp [call site] 00242
2 hash_anon [function] [call site] 00246
3 strlen [call site] 00247
3 XXH_INLINE_XXH32 [function] [call site] 00248
4 XXH32_endian_align [function] [call site] 00249
5 XXH_readLE32_align [function] [call site] 00250
6 XXH_readLE32 [function] [call site] 00251
7 XXH_read32 [function] [call site] 00252
5 XXH32_round [function] [call site] 00253
5 XXH_readLE32_align [function] [call site] 00254
5 XXH32_round [function] [call site] 00255
5 XXH_readLE32_align [function] [call site] 00256
5 XXH32_round [function] [call site] 00257
5 XXH_readLE32_align [function] [call site] 00258
5 XXH32_round [function] [call site] 00259
5 XXH32_finalize [function] [call site] 00260
6 XXH_readLE32_align [function] [call site] 00261
6 XXH32_avalanche [function] [call site] 00262
3 snprintf [call site] 00263
2 strcmp [call site] 00268
2 strcmp [call site] 00270
2 strcmp [call site] 00272
2 strcmp [call site] 00273
2 strcmp [call site] 00275
2 hash_ipanon [function] [call site] 00277
3 strcmp [call site] 00278
3 strcmp [call site] 00279
3 strcmp [call site] 00280
3 strncmp [call site] 00281
3 strncmp [call site] 00282
3 str2ip2 [function] [call site] 00283
4 get_host_port [function] [call site] 00284
5 ntohs [call site] 00285
5 ntohs [call site] 00286
4 strlen [call site] 00287
4 set_host_port [function] [call site] 00288
5 htons [call site] 00289
5 htons [call site] 00290
4 set_host_port [function] [call site] 00291
4 inet_pton [call site] 00292
4 set_host_port [function] [call site] 00293
4 inet_pton [call site] 00294
4 set_host_port [function] [call site] 00295
4 resolv_hostname_validation [function] [call site] 00296
5 strlen [call site] 00297
4 gethostbyname [call site] 00298
4 set_host_port [function] [call site] 00299
4 set_host_port [function] [call site] 00300
3 hash_anon [function] [call site] 00301
3 str2sa_range [function] [call site] 00302
4 strdup [call site] 00303
4 env_expand [function] [call site] 00304
5 __ctype_b_loc [call site] 00305
5 getenv [call site] 00306
5 strlen [call site] 00307
5 my_realloc2 [function] [call site] 00308
4 memprintf [function] [call site] 00309
4 memprintf [function] [call site] 00310
4 strncmp [call site] 00311
4 strncmp [call site] 00312
4 strncmp [call site] 00313
4 strncmp [call site] 00314
4 strncmp [call site] 00315
4 strncmp [call site] 00316
4 strncmp [call site] 00317
4 strncmp [call site] 00318
4 strncmp [call site] 00319
4 strncmp [call site] 00320
4 strncmp [call site] 00321
4 strncmp [call site] 00322
4 strncmp [call site] 00323
4 strncmp [call site] 00324
4 strncmp [call site] 00325
4 strncmp [call site] 00326
4 strncmp [call site] 00327
4 strncmp [call site] 00328
4 strncmp [call site] 00329
4 strncmp [call site] 00330
4 strncmp [call site] 00331
4 strncmp [call site] 00332
4 strncmp [call site] 00333
4 strncmp [call site] 00334
4 strncmp [call site] 00335
4 memprintf [function] [call site] 00336
4 mark_tainted [function] [call site] 00337
4 strtol [call site] 00338
4 memprintf [function] [call site] 00339
4 getsockname [call site] 00340
4 __errno_location [call site] 00341
4 strerror [call site] 00342
4 memprintf [function] [call site] 00343
4 strtol [call site] 00344
4 memprintf [function] [call site] 00345
4 getsockname [call site] 00346
4 __errno_location [call site] 00347
4 strerror [call site] 00348
4 memprintf [function] [call site] 00349
4 getsockopt [call site] 00350
4 memprintf [function] [call site] 00351
4 get_host_port [function] [call site] 00352
4 memprintf [function] [call site] 00353
4 strlen [call site] 00354
4 strlen [call site] 00355
4 memprintf [function] [call site] 00356
4 strlen [call site] 00357
4 memprintf [function] [call site] 00358
4 memprintf [function] [call site] 00359
4 __ctype_b_loc [call site] 00360
4 strchr [call site] 00361
4 memprintf [function] [call site] 00362
4 strtol [call site] 00363
4 memprintf [function] [call site] 00364
4 strtol [call site] 00365
4 memprintf [function] [call site] 00366
4 memprintf [function] [call site] 00367
4 memprintf [function] [call site] 00368
4 memprintf [function] [call site] 00369
4 memprintf [function] [call site] 00370
4 strtol [call site] 00371
4 memprintf [function] [call site] 00372
4 memprintf [function] [call site] 00373
4 strtol [call site] 00374
4 memprintf [function] [call site] 00375
4 memprintf [function] [call site] 00376
4 memprintf [function] [call site] 00377
4 memprintf [function] [call site] 00380
4 strlen [call site] 00381
4 set_host_port [function] [call site] 00382
4 memprintf [function] [call site] 00383
4 memprintf [function] [call site] 00384
4 protocol_lookup [function] [call site] 00385
4 memprintf [function] [call site] 00386
4 memprintf [function] [call site] 00387
3 hash_anon [function] [call site] 00388
3 addr_to_str [function] [call site] 00389
4 inet_ntop [call site] 00390
3 get_host_port [function] [call site] 00391
3 strncmp [call site] 00392
3 strlen [call site] 00393
3 XXH_INLINE_XXH32 [function] [call site] 00394
3 snprintf [call site] 00395
3 strlen [call site] 00396
3 XXH_INLINE_XXH32 [function] [call site] 00397
3 snprintf [call site] 00398
3 strcmp [call site] 00399
3 strlen [call site] 00400
3 XXH_INLINE_XXH32 [function] [call site] 00401
3 snprintf [call site] 00402
3 strlen [call site] 00403
3 XXH_INLINE_XXH32 [function] [call site] 00404
3 snprintf [call site] 00405
3 hash_anon [function] [call site] 00406
2 strcmp [call site] 00411
2 strcmp [call site] 00413
2 strcmp [call site] 00415
2 hash_anon [function] [call site] 00416
2 strcmp [call site] 00420
2 hash_ipanon [function] [call site] 00422
2 strcmp [call site] 00426
2 hash_anon [function] [call site] 00427
2 hash_ipanon [function] [call site] 00429
2 strcmp [call site] 00433
2 strcmp [call site] 00435
2 hash_anon [function] [call site] 00436
2 strcmp [call site] 00441
2 hash_anon [function] [call site] 00442
2 strcmp [call site] 00446
2 strcmp [call site] 00448
2 hash_ipanon [function] [call site] 00450
2 strcmp [call site] 00454
2 hash_anon [function] [call site] 00455
2 hash_ipanon [function] [call site] 00457
2 strcmp [call site] 00461
2 hash_anon [function] [call site] 00462
2 strcmp [call site] 00466
2 hash_anon [function] [call site] 00467
2 strcmp [call site] 00469
2 hash_ipanon [function] [call site] 00470
2 strcmp [call site] 00474
2 hash_anon [function] [call site] 00475
2 hash_ipanon [function] [call site] 00476
2 strcmp [call site] 00480
2 strcmp [call site] 00484
2 strcmp [call site] 00488
2 strcmp [call site] 00492
2 strcmp [call site] 00496
2 hash_anon [function] [call site] 00497
2 strcmp [call site] 00499
2 hash_anon [function] [call site] 00500
2 strcmp [call site] 00505
2 hash_anon [function] [call site] 00506
2 strcmp [call site] 00511
2 strlen [call site] 00512
2 cfg_eval_condition [function] [call site] 00514
3 cfg_parse_cond_expr [function] [call site] 00515
4 memprintf [function] [call site] 00516
4 calloc [call site] 00517
4 memprintf [function] [call site] 00518
4 cfg_parse_cond_and [function] [call site] 00519
5 memprintf [function] [call site] 00520
5 calloc [call site] 00521
5 memprintf [function] [call site] 00522
5 cfg_parse_cond_term [function] [call site] 00523
6 calloc [call site] 00524
6 memprintf [function] [call site] 00525
6 strtol [call site] 00526
6 cfg_parse_cond_expr [function] [call site] 00527
7 memprintf [function] [call site] 00528
7 cfg_parse_cond_expr [function] [call site] 00529
8 cfg_free_cond_expr [function] [call site] 00530
9 cfg_free_cond_and [function] [call site] 00531
10 cfg_free_cond_term [function] [call site] 00532
11 cfg_free_cond_expr [function] [call site] 00533
11 free_args [function] [call site] 00534
12 chunk_destroy [function] [call site] 00535
13 chunk_drop [function] [call site] 00536
12 regex_free [function] [call site] 00537
13 regfree [call site] 00538
6 memprintf [function] [call site] 00539
6 cfg_lookup_cond_pred [function] [call site] 00540
7 strcspn [call site] 00541
7 strlen [call site] 00542
7 strncmp [call site] 00543
6 strlen [call site] 00544
6 make_arg_list [function] [call site] 00545
7 calloc [call site] 00546
7 chunk_reset [function] [call site] 00547
7 read_int64 [function] [call site] 00548
8 read_uint64 [function] [call site] 00549
7 arg_list_add [function] [call site] 00550
8 arg_list_clone [function] [call site] 00551
9 calloc [call site] 00552
7 my_strndup [function] [call site] 00553
7 inet_pton [call site] 00554
7 str2mask [function] [call site] 00555
8 strchr [call site] 00556
8 inet_pton [call site] 00557
8 strtol [call site] 00558
8 len2mask4 [function] [call site] 00559
9 htonl [call site] 00560
7 inet_pton [call site] 00561
7 str2mask6 [function] [call site] 00562
8 strchr [call site] 00563
8 inet_pton [call site] 00564
8 strtol [call site] 00565
7 parse_time_err [function] [call site] 00571
8 __ctype_b_loc [call site] 00572
8 ha_warning [function] [call site] 00573
7 parse_size_ui [function] [call site] 00574
8 __ctype_b_loc [call site] 00575
7 parse_dotted_uints [function] [call site] 00576
8 strlen [call site] 00577
8 read_uint [function] [call site] 00578
9 __read_uint [function] [call site] 00579
8 my_realloc2 [function] [call site] 00580
7 memprintf [function] [call site] 00581
7 my_strndup [function] [call site] 00582
7 memprintf [function] [call site] 00583
7 memprintf [function] [call site] 00584
7 free_args [function] [call site] 00585
7 memprintf [function] [call site] 00586
7 memprintf [function] [call site] 00587
7 memprintf [function] [call site] 00588
7 memprintf [function] [call site] 00589
7 memprintf [function] [call site] 00590
7 memprintf [function] [call site] 00591
6 memprintf [function] [call site] 00592
6 memprintf [function] [call site] 00593
6 cfg_free_cond_term [function] [call site] 00594
5 memprintf [function] [call site] 00595
5 cfg_parse_cond_and [function] [call site] 00596
6 cfg_free_cond_and [function] [call site] 00597
3 memprintf [function] [call site] 00598
3 cfg_eval_cond_expr [function] [call site] 00599
4 cfg_eval_cond_and [function] [call site] 00600
5 cfg_eval_cond_term [function] [call site] 00601
6 getenv [call site] 00602
6 strstr [call site] 00603
6 strcmp [call site] 00604
6 strcmp [call site] 00605
6 strstr [call site] 00606
6 compare_current_version [function] [call site] 00607
7 split_version [function] [call site] 00608
8 strtol [call site] 00609
8 strtol [call site] 00610
8 strtol [call site] 00611
8 strtol [call site] 00612
8 strncmp [call site] 00613
8 strncmp [call site] 00614
8 strncmp [call site] 00615
8 strtol [call site] 00616
8 strrchr [call site] 00617
8 strtol [call site] 00618
8 strtol [call site] 00619
7 split_version [function] [call site] 00620
6 compare_current_version [function] [call site] 00621
6 openssl_compare_current_version [function] [call site] 00622
6 openssl_compare_current_version [function] [call site] 00623
6 openssl_compare_current_name [function] [call site] 00624
6 cfg_eval_cond_enabled [function] [call site] 00625
7 strcmp [call site] 00626
7 strcmp [call site] 00627
7 strcmp [call site] 00628
7 strcmp [call site] 00629
7 strcmp [call site] 00630
7 strcmp [call site] 00631
7 strcmp [call site] 00632
7 strcmp [call site] 00633
7 strcmp [call site] 00634
6 memprintf [function] [call site] 00635
6 cfg_eval_cond_expr [function] [call site] 00636
6 memprintf [function] [call site] 00637
3 memprintf [function] [call site] 00638
3 cfg_free_cond_expr [function] [call site] 00639
2 sanitize_for_printing [function] [call site] 00640
2 strcmp [call site] 00642
2 strlen [call site] 00643
2 cfg_eval_condition [function] [call site] 00646
2 sanitize_for_printing [function] [call site] 00647
2 strcmp [call site] 00649
2 strcmp [call site] 00653
2 strcmp [call site] 00656
2 strcmp [call site] 00659
2 ha_warning [function] [call site] 00661
2 strcmp [call site] 00662
2 ha_notice [function] [call site] 00664
3 print_message [function] [call site] 00665
2 strcmp [call site] 00666
2 ha_diag_warning [function] [call site] 00668
3 _ha_vdiag_warning [function] [call site] 00669
4 warn_exec_path [function] [call site] 00670
4 print_message [function] [call site] 00671
2 strcmp [call site] 00673
2 strcmp [call site] 00674
2 strcmp [call site] 00675
2 strcmp [call site] 00676
2 strcmp [call site] 00677
2 strcmp [call site] 00678
2 strcmp [call site] 00679
2 strcmp [call site] 00681
2 strdup [call site] 00682
2 check_section_position [function] [call site] 00683
3 strcmp [call site] 00684
3 _ha_diag_warning [function] [call site] 00685
4 _ha_vdiag_warning [function] [call site] 00686
2 strcmp [call site] 00687
2 strcmp [call site] 00689
2 strcmp [call site] 00690
2 strcmp [call site] 00692