Fuzz introspector: fuzz_manifest
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
18 24 3 :

['free', 'strdup', 'use_colors']

18 24 debug call site: 00166 /src/clib/deps/debug/debug.c:98
0 0 None 15 21 debug_is_enabled call site: 00161 /src/clib/deps/debug/debug.c:60
0 0 None 8 261 parse_array_value call site: 00066 /src/clib/deps/parson/parson.c:631
0 0 None 2 155 clib_package_dependency_new call site: 00221 /src/clib/src/common/clib-package.c:910
0 0 None 2 155 clib_package_dependency_new call site: 00221 /src/clib/src/common/clib-package.c:914
0 0 None 2 2 parson_strndup call site: 00108 /src/clib/deps/parson/parson.c:131
0 0 None 0 1624 clib_package_new call site: 00033 /src/clib/src/common/clib-package.c:461
0 0 None 0 1410 clib_package_new call site: 00121 /src/clib/src/common/clib-package.c:482
0 0 None 0 802 clib_package_new call site: 00191 /src/clib/src/common/clib-package.c:548
0 0 None 0 676 clib_package_new call site: 00203 /src/clib/src/common/clib-package.c:564
0 0 None 0 676 clib_package_new call site: 00209 /src/clib/src/common/clib-package.c:572
0 0 None 0 166 parse_package_deps call site: 00215 /src/clib/src/common/clib-package.c:308

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 sprintf [call site] 00001
1 fopen [call site] 00002
1 fwrite [call site] 00003
1 fclose [call site] 00004
1 clib_package_load_from_manifest [function] [call site] 00005
2 fs_exists [function] [call site] 00006
3 stat [call site] 00007
2 cc_fprintf [function] [call site] 00008
3 Write [function] [call site] 00009
4 vfprintf [call site] 00010
3 UnixTerminalColorize [function] [call site] 00011
4 fprintf [call site] 00013
3 UnixTerminalRestore [function] [call site] 00015
4 fputs [call site] 00016
2 fprintf [call site] 00017
2 cc_fprintf [function] [call site] 00018
2 fprintf [call site] 00019
2 fs_read [function] [call site] 00020
3 fs_open [function] [call site] 00021
4 fopen [call site] 00022
3 fs_fread [function] [call site] 00023
4 fs_fsize [function] [call site] 00024
5 ftell [call site] 00025
5 rewind [call site] 00026
5 fseek [call site] 00027
5 ftell [call site] 00028
5 fseek [call site] 00029
4 fs_fnread [function] [call site] 00030
5 fread [call site] 00031
3 fclose [call site] 00032
2 clib_package_new [function] [call site] 00033
3 cc_fprintf [function] [call site] 00034
3 fprintf [call site] 00035
3 json_parse_string [function] [call site] 00036
4 __ctype_b_loc [call site] 00037
4 parse_value [function] [call site] 00038
5 __ctype_b_loc [call site] 00039
5 parse_object_value [function] [call site] 00040
6 json_value_init_object [function] [call site] 00041
7 json_object_init [function] [call site] 00042
6 json_value_get_object [function] [call site] 00043
7 json_value_get_type [function] [call site] 00044
6 __ctype_b_loc [call site] 00045
6 get_quoted_string [function] [call site] 00046
7 skip_quotes [function] [call site] 00047
7 process_string [function] [call site] 00048
8 parse_utf_16 [function] [call site] 00049
9 is_utf16_hex [function] [call site] 00050
10 __ctype_b_loc [call site] 00051
9 __isoc99_sscanf [call site] 00052
9 is_utf16_hex [function] [call site] 00053
9 __isoc99_sscanf [call site] 00054
6 __ctype_b_loc [call site] 00055
6 json_value_free [function] [call site] 00056
7 json_value_get_type [function] [call site] 00057
7 json_object_free [function] [call site] 00058
8 json_value_free [function] [call site] 00059
9 json_array_free [function] [call site] 00060
10 json_value_free [function] [call site] 00061
6 parse_value [function] [call site] 00062
7 parse_array_value [function] [call site] 00063
8 json_value_init_array [function] [call site] 00064
9 json_array_init [function] [call site] 00065
8 json_value_get_array [function] [call site] 00066
9 json_value_get_type [function] [call site] 00067
8 __ctype_b_loc [call site] 00068
8 parse_value [function] [call site] 00069
9 parse_string_value [function] [call site] 00070
10 get_quoted_string [function] [call site] 00071
10 json_value_init_string_no_copy [function] [call site] 00072
9 parse_boolean_value [function] [call site] 00073
10 strncmp [call site] 00074
10 json_value_init_boolean [function] [call site] 00075
10 strncmp [call site] 00076
10 json_value_init_boolean [function] [call site] 00077
9 parse_number_value [function] [call site] 00078
10 strtod [call site] 00079
10 is_decimal [function] [call site] 00080
11 strncmp [call site] 00081
11 strchr [call site] 00082
10 json_value_init_number [function] [call site] 00083
9 parse_null_value [function] [call site] 00084
10 strncmp [call site] 00085
10 json_value_init_null [function] [call site] 00086
8 json_value_free [function] [call site] 00087
8 json_array_add [function] [call site] 00088
9 json_array_resize [function] [call site] 00089
8 json_value_free [function] [call site] 00090
8 __ctype_b_loc [call site] 00091
8 __ctype_b_loc [call site] 00092
8 __ctype_b_loc [call site] 00093
8 json_array_get_count [function] [call site] 00094
8 json_array_resize [function] [call site] 00095
8 json_value_free [function] [call site] 00096
6 json_value_free [function] [call site] 00097
6 json_object_add [function] [call site] 00098
7 json_object_resize [function] [call site] 00099
7 json_object_get_value [function] [call site] 00100
8 strlen [call site] 00101
8 json_object_nget_value [function] [call site] 00102
9 json_object_get_count [function] [call site] 00103
9 strlen [call site] 00104
9 strncmp [call site] 00105
7 parson_strdup [function] [call site] 00106
8 strlen [call site] 00107
8 parson_strndup [function] [call site] 00108
9 strncpy [call site] 00109
6 json_value_free [function] [call site] 00110
6 __ctype_b_loc [call site] 00111
6 __ctype_b_loc [call site] 00112
6 __ctype_b_loc [call site] 00113
6 json_object_get_count [function] [call site] 00114
6 json_object_resize [function] [call site] 00115
6 json_value_free [function] [call site] 00116
3 cc_fprintf [function] [call site] 00117
3 fprintf [call site] 00118
3 json_value_get_object [function] [call site] 00119
3 cc_fprintf [function] [call site] 00120
3 fprintf [call site] 00121
3 strdup [function] [call site] 00122
4 strlen [call site] 00123
3 json_object_get_string_safe [function] [call site] 00124
4 json_object_get_string [function] [call site] 00125
5 json_object_get_value [function] [call site] 00126
5 json_value_get_string [function] [call site] 00127
6 json_value_get_type [function] [call site] 00128
3 json_object_get_string_safe [function] [call site] 00130
3 json_object_get_string_safe [function] [call site] 00131
3 json_object_get_string_safe [function] [call site] 00132
3 json_object_get_string_safe [function] [call site] 00133
3 json_object_get_string_safe [function] [call site] 00134
3 json_object_get_string_safe [function] [call site] 00135
3 json_object_get_string_safe [function] [call site] 00136
3 json_object_get_string_safe [function] [call site] 00137
3 json_object_get_string_safe [function] [call site] 00138
3 json_object_get_string_safe [function] [call site] 00139
3 json_object_get_array [function] [call site] 00140
4 json_object_get_value [function] [call site] 00141
4 json_value_get_array [function] [call site] 00142
3 json_object_get_array [function] [call site] 00143
3 json_array_get_count [function] [call site] 00144
3 json_array_get_string_safe [function] [call site] 00145
4 json_array_get_string [function] [call site] 00146
5 json_array_get_value [function] [call site] 00147
6 json_array_get_count [function] [call site] 00148
5 json_value_get_string [function] [call site] 00149
3 asprintf [function] [call site] 00151
4 vasprintf [function] [call site] 00152
5 vsnprintf [call site] 00153
5 vsprintf [call site] 00154
3 debug_init [function] [call site] 00156
4 clock [call site] 00157
4 srand [call site] 00158
4 rand [call site] 00159
4 debug_is_enabled [function] [call site] 00160
5 getenv [call site] 00161
5 strtok [call site] 00163
5 wildcardcmp [function] [call site] 00164
5 strtok [call site] 00165
3 debug [function] [call site] 00166
4 use_colors [function] [call site] 00167
5 fileno [call site] 00168
5 isatty [call site] 00169
5 getenv [call site] 00170
5 strcmp [call site] 00171
5 strncmp [call site] 00172
5 strncmp [call site] 00173
5 strncmp [call site] 00174
4 vasprintf [function] [call site] 00177
4 fprintf [call site] 00178
3 debug_init [function] [call site] 00179
3 parse_repo_owner [function] [call site] 00181
4 strlen [call site] 00182
4 strchr [call site] 00184
4 substr [function] [call site] 00185
5 strlen [call site] 00186
5 strncpy [call site] 00188
4 strlen [call site] 00189
3 parse_repo_name [function] [call site] 00191
4 strlen [call site] 00192
4 strchr [call site] 00194
4 strchr [call site] 00196
3 cc_fprintf [function] [call site] 00199
3 fprintf [call site] 00200
3 json_object_get_array [function] [call site] 00201
3 json_object_get_array [function] [call site] 00202
3 json_array_get_count [function] [call site] 00204
3 json_array_get_string_safe [function] [call site] 00205
3 debug_init [function] [call site] 00206
3 list_node_new [function] [call site] 00208
3 list_rpush [function] [call site] 00209
3 debug_init [function] [call site] 00210
3 json_object_get_object [function] [call site] 00212
4 json_object_get_value [function] [call site] 00213
4 json_value_get_object [function] [call site] 00214
3 parse_package_deps [function] [call site] 00215
4 json_object_get_count [function] [call site] 00217
4 json_object_get_name [function] [call site] 00218
5 json_object_get_count [function] [call site] 00219
4 json_object_get_string_safe [function] [call site] 00220
4 clib_package_dependency_new [function] [call site] 00221
5 strcmp [call site] 00222
5 clib_package_parse_name [function] [call site] 00225
6 parse_repo_name [function] [call site] 00226
5 clib_package_parse_author [function] [call site] 00227
6 parse_repo_owner [function] [call site] 00228
5 debug_init [function] [call site] 00229
4 list_node_new [function] [call site] 00231
4 clib_package_dependency_free [function] [call site] 00232
4 list_rpush [function] [call site] 00233
4 list_destroy [function] [call site] 00234
3 debug_init [function] [call site] 00235
3 json_object_get_object [function] [call site] 00237
3 parse_package_deps [function] [call site] 00238
3 debug_init [function] [call site] 00239
3 json_value_free [function] [call site] 00241
3 clib_package_free [function] [call site] 00242
4 list_destroy [function] [call site] 00243
4 list_destroy [function] [call site] 00244
4 list_destroy [function] [call site] 00245
1 clib_package_free [function] [call site] 00246
1 unlink [call site] 00247