Fuzz introspector: fuzz_csv_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
0 0 None 40 188 __parse_csv_record call site: 00003 /src/opensips/lib/csv.c:83
0 0 None 38 134 __parse_csv_record call site: 00022 /src/opensips/lib/csv.c:138
0 0 None 38 134 __parse_csv_record call site: 00022 /src/opensips/lib/csv.c:163
0 0 None 38 134 __parse_csv_record call site: 00023 /src/opensips/lib/csv.c:184
0 0 None 21 67 __parse_csv_record call site: 00011 /src/opensips/lib/csv.c:109
0 0 None 19 19 push_csv_field call site: 00011 /src/opensips/lib/csv.c:44
0 0 None 0 0 context_alloc call site: 00000 /src/opensips/context.c:121
0 0 None 0 0 ensure_global_context call site: 00000 /src/opensips/context.c:132
0 0 None 0 0 ensure_global_context call site: 00000 /src/opensips/context.c:136
0 0 None 0 0 register_context_destroy call site: 00000 /src/opensips/context.c:67
0 0 None 0 0 init_dset call site: 00000 /src/opensips/dset.c:136
0 0 None 0 0 __parse_csv_record call site: 00024 /src/opensips/lib/csv.c:206

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 init_str [function] [call site] 00001
2 strlen [call site] 00002
1 __parse_csv_record [function] [call site] 00003
2 memchr [call site] 00009
2 push_csv_field [function] [call site] 00011
2 push_csv_field [function] [call site] 00022
2 push_csv_field [function] [call site] 00023
2 push_csv_field [function] [call site] 00024
2 dp_my_pid [function] [call site] 00026
2 free_csv_record [function] [call site] 00028
2 dp_my_pid [function] [call site] 00030
2 free_csv_record [function] [call site] 00032
1 __parse_csv_record [function] [call site] 00034
1 free_csv_record [function] [call site] 00035