Fuzz introspector: tokener_parse_ex_fuzzer
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
35 35 2 :

['get_dev_random_seed', 'get_time_seed']

35 35 json_c_get_random_seed call site: 00000 /src/json-c/random_seed.c:336
19 19 2 :

['__errno_location', '_json_c_strerror']

19 19 get_getrandom_seed call site: 00000 /src/json-c/random_seed.c:190
7 7 1 :

['json_abort']

7 7 json_object_array_shrink call site: 00240 /src/json-c/json_object.c:1521
2 2 1 :

['__errno_location']

2 2 printbuf_memappend call site: 00036 /src/json-c/printbuf.c:100
2 2 1 :

['__errno_location']

2 2 printbuf_extend call site: 00038 /src/json-c/printbuf.c:73
0 9 1 :

['array_list_expand_internal']

0 9 array_list_shrink call site: 00245 /src/json-c/arraylist.c:116
0 0 None 93 1775 json_tokener_parse_ex call site: 00116 /src/json-c/json_tokener.c:777
0 0 None 93 1775 json_tokener_parse_ex call site: 00128 /src/json-c/json_tokener.c:886
0 0 None 4 181 json_object_new_double_s call site: 00154 /src/json-c/json_object.c:1107
0 0 None 4 43 json_tokener_parse_ex call site: 00041 /src/json-c/json_tokener.c:379
0 0 None 4 43 json_tokener_parse_ex call site: 00055 /src/json-c/json_tokener.c:386
0 0 None 4 43 json_tokener_parse_ex call site: 00070 /src/json-c/json_tokener.c:489

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 json_tokener_new [function] [call site] 00001
2 json_tokener_new_ex [function] [call site] 00002
3 calloc [call site] 00003
3 calloc [call site] 00004
3 printbuf_new [function] [call site] 00005
4 calloc [call site] 00006
3 json_tokener_reset [function] [call site] 00007
4 json_tokener_reset_level [function] [call site] 00008
5 json_object_put [function] [call site] 00009
6 __assert_fail [call site] 00010
6 json_object_object_delete [function] [call site] 00011
7 JC_OBJECT [function] [call site] 00012
7 lh_table_free [function] [call site] 00013
7 json_object_generic_delete [function] [call site] 00014
8 printbuf_free [function] [call site] 00015
6 json_object_array_delete [function] [call site] 00016
7 array_list_free [function] [call site] 00018
7 json_object_generic_delete [function] [call site] 00019
6 json_object_string_delete [function] [call site] 00020
7 JC_STRING [function] [call site] 00021
7 JC_STRING [function] [call site] 00022
7 json_object_generic_delete [function] [call site] 00023
6 json_object_generic_delete [function] [call site] 00024
1 json_tokener_parse_ex [function] [call site] 00025
2 uselocale [call site] 00026
2 strlen [call site] 00027
2 duplocale [call site] 00028
2 newlocale [call site] 00029
2 freelocale [call site] 00030
2 uselocale [call site] 00031
2 json_tokener_validate_utf8 [function] [call site] 00032
2 is_ws_char [function] [call site] 00033
2 json_tokener_validate_utf8 [function] [call site] 00034
2 printbuf_reset [function] [call site] 00035
2 printbuf_memappend [function] [call site] 00036
3 __errno_location [call site] 00037
3 printbuf_extend [function] [call site] 00038
4 __errno_location [call site] 00039
4 realloc [call site] 00040
2 json_object_new_object [function] [call site] 00041
3 json_object_new [function] [call site] 00042
3 lh_kchar_table_new [function] [call site] 00043
4 lh_table_new [function] [call site] 00044
5 __assert_fail [call site] 00045
5 calloc [call site] 00046
5 calloc [call site] 00047
3 json_object_lh_entry_free [function] [call site] 00048
4 lh_entry_k_is_constant [function] [call site] 00049
4 lh_entry_k [function] [call site] 00050
4 lh_entry_v [function] [call site] 00051
4 json_object_put [function] [call site] 00052
3 json_object_generic_delete [function] [call site] 00053
3 __errno_location [call site] 00054
2 json_object_new_array [function] [call site] 00055
3 json_object_new_array_ext [function] [call site] 00056
4 json_object_new [function] [call site] 00057
4 array_list_new2 [function] [call site] 00058
4 json_object_array_entry_free [function] [call site] 00059
5 json_object_put [function] [call site] 00060
2 printbuf_reset [function] [call site] 00061
2 printbuf_reset [function] [call site] 00062
2 printbuf_reset [function] [call site] 00063
2 printbuf_reset [function] [call site] 00064
2 printbuf_reset [function] [call site] 00065
2 json_object_get [function] [call site] 00066
3 __assert_fail [call site] 00067
2 json_tokener_reset_level [function] [call site] 00068
2 json_tokener_validate_utf8 [function] [call site] 00069
2 json_object_new_double [function] [call site] 00070
3 json_object_new [function] [call site] 00071
3 json_object_double_to_json_string_default [function] [call site] 00072
4 json_object_double_to_json_string_format [function] [call site] 00073
5 JC_DOUBLE [function] [call site] 00074
5 snprintf [call site] 00075
5 snprintf [call site] 00076
5 snprintf [call site] 00077
5 snprintf [call site] 00078
5 strchr [call site] 00079
5 strchr [call site] 00080
5 strstr [call site] 00081
5 strchr [call site] 00082
5 strcat [call site] 00083
5 printbuf_memappend [function] [call site] 00084
2 printbuf_memappend [function] [call site] 00085
2 strncasecmp [call site] 00086
2 strncmp [call site] 00087
2 json_object_new_double [function] [call site] 00088
2 printbuf_memappend [function] [call site] 00089
2 json_tokener_validate_utf8 [function] [call site] 00090
2 printbuf_memappend [function] [call site] 00091
2 printbuf_memappend [function] [call site] 00092
2 json_tokener_validate_utf8 [function] [call site] 00093
2 printbuf_memappend [function] [call site] 00094
2 printbuf_memappend [function] [call site] 00095
2 printbuf_memappend [function] [call site] 00096
2 printbuf_memappend [function] [call site] 00097
2 json_object_new_string_len [function] [call site] 00098
3 _json_object_new_string [function] [call site] 00099
4 json_object_new [function] [call site] 00100
2 printbuf_memappend [function] [call site] 00101
2 json_tokener_validate_utf8 [function] [call site] 00102
2 printbuf_memappend [function] [call site] 00103
2 printbuf_memappend [function] [call site] 00104
2 printbuf_memappend [function] [call site] 00105
2 printbuf_memappend [function] [call site] 00106
2 printbuf_memappend [function] [call site] 00107
2 printbuf_memappend [function] [call site] 00108
2 printbuf_memappend [function] [call site] 00109
2 is_hex_char [function] [call site] 00110
2 json_tokener_validate_utf8 [function] [call site] 00111
2 printbuf_memappend [function] [call site] 00112
2 printbuf_memappend [function] [call site] 00113
2 printbuf_memappend [function] [call site] 00114
2 printbuf_memappend [function] [call site] 00115
2 printbuf_memappend [function] [call site] 00116
2 printbuf_memappend [function] [call site] 00117
2 printbuf_memappend [function] [call site] 00118
2 printbuf_memappend [function] [call site] 00119
2 printbuf_memappend [function] [call site] 00120
2 printbuf_memappend [function] [call site] 00121
2 strncasecmp [call site] 00122
2 strncmp [call site] 00123
2 json_object_new_boolean [function] [call site] 00124
3 json_object_new [function] [call site] 00125
2 strncasecmp [call site] 00126
2 strncmp [call site] 00127
2 json_object_new_boolean [function] [call site] 00128
2 strchr [call site] 00129
2 strchr [call site] 00130
2 json_tokener_validate_utf8 [function] [call site] 00131
2 printbuf_memappend [function] [call site] 00132
2 is_ws_char [function] [call site] 00133
2 printbuf_memappend [function] [call site] 00134
2 json_parse_int64 [function] [call site] 00135
3 __errno_location [call site] 00136
3 strtoll [call site] 00137
3 __errno_location [call site] 00138
3 __errno_location [call site] 00139
2 __errno_location [call site] 00140
2 json_object_new_int64 [function] [call site] 00141
3 json_object_new [function] [call site] 00142
2 json_parse_uint64 [function] [call site] 00143
3 __errno_location [call site] 00144
3 strtoull [call site] 00145
3 __errno_location [call site] 00146
3 __errno_location [call site] 00147
2 json_object_new_int64 [function] [call site] 00148
2 json_object_new_uint64 [function] [call site] 00149
3 json_object_new [function] [call site] 00150
2 json_tokener_parse_double [function] [call site] 00151
3 strtod [call site] 00152
2 json_object_new_double_s [function] [call site] 00153
3 json_object_new_double [function] [call site] 00154
3 strdup [call site] 00155
3 json_object_generic_delete [function] [call site] 00156
3 __errno_location [call site] 00157
3 json_object_set_serializer [function] [call site] 00158
4 json_object_set_userdata [function] [call site] 00159
5 __assert_fail [call site] 00160
4 json_object_boolean_to_json_string [function] [call site] 00161
5 printbuf_memappend [function] [call site] 00163
5 printbuf_memappend [function] [call site] 00164
4 json_object_double_to_json_string_default [function] [call site] 00165
4 json_object_int_to_json_string [function] [call site] 00166
5 snprintf [call site] 00169
5 snprintf [call site] 00171
5 strlen [call site] 00172
5 printbuf_memappend [function] [call site] 00173
4 json_object_object_to_json_string [function] [call site] 00174
5 printbuf_memappend [function] [call site] 00175
5 json_object_get_object [function] [call site] 00176
6 JC_OBJECT_C [function] [call site] 00177
5 lh_table_head [function] [call site] 00178
5 printbuf_memappend [function] [call site] 00179
5 printbuf_memappend [function] [call site] 00180
5 printbuf_memappend [function] [call site] 00181
5 indent [function] [call site] 00182
6 printbuf_memset [function] [call site] 00183
7 __errno_location [call site] 00184
7 printbuf_extend [function] [call site] 00185
6 printbuf_memset [function] [call site] 00186
5 printbuf_memappend [function] [call site] 00187
5 strlen [call site] 00188
5 json_escape_str [function] [call site] 00189
6 printbuf_memappend [function] [call site] 00190
6 printbuf_memappend [function] [call site] 00191
6 printbuf_memappend [function] [call site] 00192
6 printbuf_memappend [function] [call site] 00193
6 printbuf_memappend [function] [call site] 00194
6 printbuf_memappend [function] [call site] 00195
6 printbuf_memappend [function] [call site] 00196
6 printbuf_memappend [function] [call site] 00197
6 printbuf_memappend [function] [call site] 00198
6 printbuf_memappend [function] [call site] 00199
6 snprintf [call site] 00200
6 printbuf_memappend [function] [call site] 00201
6 printbuf_memappend [function] [call site] 00202
5 printbuf_memappend [function] [call site] 00203
5 printbuf_memappend [function] [call site] 00204
5 printbuf_memappend [function] [call site] 00205
5 printbuf_memappend [function] [call site] 00206
5 printbuf_memappend [function] [call site] 00208
5 printbuf_memappend [function] [call site] 00209
4 json_object_array_to_json_string [function] [call site] 00210
5 printbuf_memappend [function] [call site] 00211
5 json_object_array_length [function] [call site] 00212
6 json_object_get_type [function] [call site] 00213
6 __assert_fail [call site] 00214
6 JC_ARRAY_C [function] [call site] 00215
6 array_list_length [function] [call site] 00216
5 printbuf_memappend [function] [call site] 00217
5 printbuf_memappend [function] [call site] 00218
5 printbuf_memappend [function] [call site] 00219
5 json_object_array_get_idx [function] [call site] 00221
6 json_object_get_type [function] [call site] 00222
6 __assert_fail [call site] 00223
6 JC_ARRAY_C [function] [call site] 00224
6 array_list_get_idx [function] [call site] 00225
5 printbuf_memappend [function] [call site] 00226
5 printbuf_memappend [function] [call site] 00227
5 printbuf_memappend [function] [call site] 00229
5 printbuf_memappend [function] [call site] 00230
4 json_object_string_to_json_string [function] [call site] 00231
5 JC_STRING [function] [call site] 00232
5 printbuf_memappend [function] [call site] 00233
5 get_string_component [function] [call site] 00234
6 get_string_component_mutable [function] [call site] 00235
7 JC_STRING_C [function] [call site] 00236
7 JC_STRING [function] [call site] 00237
7 JC_STRING [function] [call site] 00238
5 printbuf_memappend [function] [call site] 00239
2 json_object_array_shrink [function] [call site] 00240
3 json_abort [function] [call site] 00241
4 fprintf [call site] 00242
4 abort [call site] 00243
3 array_list_shrink [function] [call site] 00245
4 array_list_expand_internal [function] [call site] 00246
5 realloc [call site] 00247
4 realloc [call site] 00248
2 json_tokener_reset_level [function] [call site] 00249
2 json_object_array_add [function] [call site] 00250
3 json_object_get_type [function] [call site] 00251
3 __assert_fail [call site] 00252
3 array_list_add [function] [call site] 00254
4 array_list_expand_internal [function] [call site] 00255
2 json_object_array_shrink [function] [call site] 00256
2 printbuf_reset [function] [call site] 00257
2 printbuf_memappend [function] [call site] 00258
2 strdup [call site] 00259
2 printbuf_memappend [function] [call site] 00260
2 json_tokener_validate_utf8 [function] [call site] 00261
2 printbuf_memappend [function] [call site] 00262
2 json_tokener_reset_level [function] [call site] 00263
2 json_object_object_add [function] [call site] 00264
3 json_object_object_add_ex [function] [call site] 00265
4 json_object_get_type [function] [call site] 00266
4 __assert_fail [call site] 00267
4 JC_OBJECT [function] [call site] 00268
4 lh_get_hash [function] [call site] 00269
4 JC_OBJECT [function] [call site] 00270
4 lh_table_lookup_entry_w_hash [function] [call site] 00271
4 strdup [call site] 00272
4 JC_OBJECT [function] [call site] 00273
4 lh_table_insert_w_hash [function] [call site] 00274
5 lh_table_resize [function] [call site] 00275
6 lh_table_new [function] [call site] 00276
6 lh_get_hash [function] [call site] 00277
6 lh_table_insert_w_hash [function] [call site] 00278
4 lh_entry_v [function] [call site] 00279
4 json_object_put [function] [call site] 00280
4 lh_entry_set_val [function] [call site] 00281
2 uselocale [call site] 00282
2 freelocale [call site] 00283
2 json_object_get [function] [call site] 00284
2 json_tokener_reset_level [function] [call site] 00285
1 json_object_put [function] [call site] 00286
1 json_tokener_free [function] [call site] 00287
2 json_tokener_reset [function] [call site] 00288
2 printbuf_free [function] [call site] 00289