Fuzz introspector: json_load_dump_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
2 2 1 :

['sched_yield']

2 2 json_object_seed call site: 00139 /src/jansson/src/hashtable_seed.c:203
2 2 1 :

['strchr']

2 2 to_locale call site: 00102 /src/jansson/src/strconv.c:32
2 2 1 :

['strchr']

2 2 from_locale call site: 00259 /src/jansson/src/strconv.c:47
0 21 1 :

['error_set']

0 21 json_loadb call site: 00007 /src/jansson/src/load.c:950
0 6 1 :

['jsonp_strndup']

0 14 string_create call site: 00121 /src/jansson/src/value.c:724
0 3 1 :

['jsonp_free']

0 3 json_object call site: 00150 /src/jansson/src/value.c:76
0 0 None 6 6 jsonp_error_set_source call site: 00008 /src/jansson/src/error.c:20
0 0 None 2 1878 parse_object call site: 00137 /src/jansson/src/load.c:664
0 0 None 2 1677 do_dump call site: 00252 /src/jansson/src/dump.c:221
0 0 None 2 1635 parse_object call site: 00157 /src/jansson/src/load.c:682
0 0 None 2 495 do_dump call site: 00286 /src/jansson/src/dump.c:342
0 0 None 2 2 jsonp_error_set_source call site: 00009 /src/jansson/src/error.c:24

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 getenv [call site] 00001
1 fprintf [call site] 00002
1 fprintf [call site] 00003
1 fprintf [call site] 00004
1 fprintf [call site] 00005
1 json_loadb [function] [call site] 00006
2 jsonp_error_init [function] [call site] 00007
3 jsonp_error_set_source [function] [call site] 00008
4 strlen [call site] 00009
4 strncpy [call site] 00010
4 strncpy [call site] 00011
2 error_set [function] [call site] 00012
3 vsnprintf [call site] 00013
3 strbuffer_value [function] [call site] 00014
3 snprintf [call site] 00015
3 snprintf [call site] 00016
3 jsonp_error_set [function] [call site] 00017
4 jsonp_error_vset [function] [call site] 00018
5 vsnprintf [call site] 00019
2 lex_init [function] [call site] 00020
3 stream_init [function] [call site] 00021
3 strbuffer_init [function] [call site] 00022
4 jsonp_malloc [function] [call site] 00023
2 parse_json [function] [call site] 00024
3 lex_scan [function] [call site] 00025
4 strbuffer_clear [function] [call site] 00026
4 lex_free_string [function] [call site] 00027
5 jsonp_free [function] [call site] 00028
4 lex_get [function] [call site] 00029
5 stream_get [function] [call site] 00030
6 utf8_check_first [function] [call site] 00031
6 __assert_fail [call site] 00032
6 utf8_check_full [function] [call site] 00033
6 utf8_check_first [function] [call site] 00034
6 error_set [function] [call site] 00035
4 lex_save [function] [call site] 00036
5 strbuffer_append_byte [function] [call site] 00037
6 strbuffer_append_bytes [function] [call site] 00038
7 jsonp_malloc [function] [call site] 00039
7 jsonp_free [function] [call site] 00040
4 lex_scan_string [function] [call site] 00041
5 lex_get_save [function] [call site] 00042
5 error_set [function] [call site] 00045
5 lex_unget_unsave [function] [call site] 00046
6 stream_unget [function] [call site] 00047
7 utf8_check_first [function] [call site] 00048
7 __assert_fail [call site] 00049
7 __assert_fail [call site] 00050
6 strbuffer_pop [function] [call site] 00051
6 __assert_fail [call site] 00052
5 error_set [function] [call site] 00053
5 error_set [function] [call site] 00054
5 lex_get_save [function] [call site] 00055
5 lex_get_save [function] [call site] 00056
5 error_set [function] [call site] 00057
5 lex_get_save [function] [call site] 00058
5 lex_get_save [function] [call site] 00059
5 error_set [function] [call site] 00060
5 lex_get_save [function] [call site] 00061
5 jsonp_malloc [function] [call site] 00062
5 strbuffer_value [function] [call site] 00063
5 decode_unicode_escape [function] [call site] 00064
6 __assert_fail [call site] 00065
5 error_set [function] [call site] 00066
5 decode_unicode_escape [function] [call site] 00067
5 error_set [function] [call site] 00068
5 error_set [function] [call site] 00069
5 error_set [function] [call site] 00070
5 error_set [function] [call site] 00071
5 utf8_encode [function] [call site] 00072
5 __assert_fail [call site] 00073
5 __assert_fail [call site] 00074
5 lex_free_string [function] [call site] 00075
4 lex_scan_number [function] [call site] 00076
5 lex_get_save [function] [call site] 00077
5 lex_get_save [function] [call site] 00078
5 lex_unget_unsave [function] [call site] 00079
5 lex_get_save [function] [call site] 00080
5 lex_unget_unsave [function] [call site] 00081
5 lex_unget_unsave [function] [call site] 00082
5 strbuffer_value [function] [call site] 00083
5 __errno_location [call site] 00084
5 strtoll [call site] 00085
5 __errno_location [call site] 00086
5 error_set [function] [call site] 00087
5 error_set [function] [call site] 00088
5 __assert_fail [call site] 00089
5 lex_unget [function] [call site] 00091
6 stream_unget [function] [call site] 00092
5 lex_get_save [function] [call site] 00094
5 lex_get_save [function] [call site] 00095
5 lex_get_save [function] [call site] 00096
5 lex_unget_unsave [function] [call site] 00097
5 lex_get_save [function] [call site] 00098
5 lex_unget_unsave [function] [call site] 00099
5 jsonp_strtod [function] [call site] 00100
6 to_locale [function] [call site] 00101
7 localeconv [call site] 00102
6 __errno_location [call site] 00103
6 __assert_fail [call site] 00104
6 __errno_location [call site] 00105
5 error_set [function] [call site] 00106
4 lex_get_save [function] [call site] 00107
4 lex_unget_unsave [function] [call site] 00108
4 strbuffer_value [function] [call site] 00109
4 strcmp [call site] 00110
4 strcmp [call site] 00111
4 strcmp [call site] 00112
4 lex_save_cached [function] [call site] 00113
3 error_set [function] [call site] 00115
3 parse_value [function] [call site] 00116
4 error_set [function] [call site] 00117
4 memchr [call site] 00118
4 error_set [function] [call site] 00119
4 jsonp_stringn_nocheck_own [function] [call site] 00120
5 string_create [function] [call site] 00121
6 jsonp_strndup [function] [call site] 00122
7 jsonp_malloc [function] [call site] 00123
6 jsonp_malloc [function] [call site] 00124
6 jsonp_free [function] [call site] 00125
6 json_init [function] [call site] 00126
4 json_integer [function] [call site] 00127
5 jsonp_malloc [function] [call site] 00128
5 json_init [function] [call site] 00129
4 json_real [function] [call site] 00130
5 jsonp_malloc [function] [call site] 00131
5 json_init [function] [call site] 00132
4 json_true [function] [call site] 00133
4 json_false [function] [call site] 00134
4 json_null [function] [call site] 00135
4 parse_object [function] [call site] 00136
5 json_object [function] [call site] 00137
6 jsonp_malloc [function] [call site] 00138
6 json_object_seed [function] [call site] 00139
7 generate_seed [function] [call site] 00140
8 seed_from_urandom [function] [call site] 00141
9 read [call site] 00142
9 close [call site] 00143
9 buf_to_uint32 [function] [call site] 00144
8 seed_from_timestamp_and_pid [function] [call site] 00145
9 gettimeofday [call site] 00146
9 getpid [call site] 00147
7 sched_yield [call site] 00148
6 json_init [function] [call site] 00149
6 hashtable_init [function] [call site] 00150
7 jsonp_malloc [function] [call site] 00151
7 list_init [function] [call site] 00152
7 list_init [function] [call site] 00153
6 jsonp_free [function] [call site] 00154
5 error_set [function] [call site] 00156
5 lex_steal_string [function] [call site] 00157
5 memchr [call site] 00158
5 jsonp_free [function] [call site] 00159
5 error_set [function] [call site] 00160
5 json_object_getn [function] [call site] 00161
6 hashtable_get [function] [call site] 00162
7 hashlittle [function] [call site] 00163
7 hashtable_find_pair [function] [call site] 00164
8 memcmp [call site] 00165
5 jsonp_free [function] [call site] 00166
5 error_set [function] [call site] 00167
5 jsonp_free [function] [call site] 00169
5 error_set [function] [call site] 00170
5 parse_value [function] [call site] 00172
6 parse_array [function] [call site] 00173
7 json_array [function] [call site] 00174
8 jsonp_malloc [function] [call site] 00175
8 json_init [function] [call site] 00176
8 jsonp_malloc [function] [call site] 00177
8 jsonp_free [function] [call site] 00178
7 parse_value [function] [call site] 00180
7 json_array_append_new [function] [call site] 00183
8 json_decref [function] [call site] 00184
9 json_delete [function] [call site] 00185
10 json_delete_object [function] [call site] 00186
11 hashtable_close [function] [call site] 00187
12 hashtable_do_clear [function] [call site] 00188
13 json_decref [function] [call site] 00189
13 jsonp_free [function] [call site] 00190
12 jsonp_free [function] [call site] 00191
11 jsonp_free [function] [call site] 00192
10 json_delete_array [function] [call site] 00193
11 json_decref [function] [call site] 00194
11 jsonp_free [function] [call site] 00195
11 jsonp_free [function] [call site] 00196
10 json_delete_string [function] [call site] 00197
11 jsonp_free [function] [call site] 00198
11 jsonp_free [function] [call site] 00199
10 json_delete_integer [function] [call site] 00200
11 jsonp_free [function] [call site] 00201
10 json_delete_real [function] [call site] 00202
11 jsonp_free [function] [call site] 00203
8 json_array_grow [function] [call site] 00204
9 jsonp_malloc [function] [call site] 00205
9 array_copy [function] [call site] 00206
9 jsonp_free [function] [call site] 00207
8 json_decref [function] [call site] 00208
7 error_set [function] [call site] 00211
7 json_decref [function] [call site] 00212
5 jsonp_free [function] [call site] 00213
5 json_object_setn_new_nocheck [function] [call site] 00214
6 json_decref [function] [call site] 00215
6 hashtable_set [function] [call site] 00216
7 hashtable_do_rehash [function] [call site] 00217
8 jsonp_malloc [function] [call site] 00218
8 jsonp_free [function] [call site] 00219
8 list_init [function] [call site] 00220
8 insert_to_bucket [function] [call site] 00221
9 bucket_is_empty [function] [call site] 00222
9 list_insert [function] [call site] 00223
9 list_insert [function] [call site] 00224
7 hashlittle [function] [call site] 00225
7 hashtable_find_pair [function] [call site] 00226
7 json_decref [function] [call site] 00227
7 init_pair [function] [call site] 00228
8 jsonp_malloc [function] [call site] 00229
8 list_init [function] [call site] 00230
8 list_init [function] [call site] 00231
7 insert_to_bucket [function] [call site] 00232
7 list_insert [function] [call site] 00233
6 json_decref [function] [call site] 00234
5 jsonp_free [function] [call site] 00235
5 jsonp_free [function] [call site] 00236
5 error_set [function] [call site] 00239
5 json_decref [function] [call site] 00240
3 error_set [function] [call site] 00242
3 json_decref [function] [call site] 00243
2 lex_close [function] [call site] 00244
3 lex_free_string [function] [call site] 00245
3 strbuffer_close [function] [call site] 00246
4 jsonp_free [function] [call site] 00247
1 json_dumps [function] [call site] 00248
2 strbuffer_init [function] [call site] 00249
2 json_dump_callback [function] [call site] 00250
3 hashtable_init [function] [call site] 00251
3 do_dump [function] [call site] 00252
4 json_integer_value [function] [call site] 00253
4 snprintf [call site] 00254
4 json_real_value [function] [call site] 00255
4 jsonp_dtostr [function] [call site] 00256
5 snprintf [call site] 00257
5 from_locale [function] [call site] 00258
6 localeconv [call site] 00259
6 strchr [call site] 00260
5 strchr [call site] 00261
5 strchr [call site] 00262
4 json_string_value [function] [call site] 00263
4 dump_string [function] [call site] 00264
5 utf8_iterate [function] [call site] 00265
6 utf8_check_first [function] [call site] 00266
6 utf8_check_full [function] [call site] 00267
5 snprintf [call site] 00268
5 snprintf [call site] 00269
4 jsonp_loop_check [function] [call site] 00270
5 snprintf [call site] 00271
5 hashtable_get [function] [call site] 00272
5 json_null [function] [call site] 00273
5 hashtable_set [function] [call site] 00274
4 json_array_size [function] [call site] 00275
4 hashtable_del [function] [call site] 00276
5 hashlittle [function] [call site] 00277
5 hashtable_do_del [function] [call site] 00278
6 hashtable_find_pair [function] [call site] 00279
6 list_remove [function] [call site] 00280
6 list_remove [function] [call site] 00281
6 json_decref [function] [call site] 00282
6 jsonp_free [function] [call site] 00283
4 dump_indent [function] [call site] 00284
4 json_array_get [function] [call site] 00285
4 do_dump [function] [call site] 00286
5 dump_indent [function] [call site] 00287
5 dump_indent [function] [call site] 00288
5 hashtable_del [function] [call site] 00289
5 jsonp_loop_check [function] [call site] 00290
5 json_object_iter [function] [call site] 00291
6 hashtable_iter [function] [call site] 00292
7 hashtable_iter_next [function] [call site] 00293
5 hashtable_del [function] [call site] 00294
5 dump_indent [function] [call site] 00295
5 json_object_size [function] [call site] 00296
5 jsonp_malloc [function] [call site] 00297
5 json_object_iter_key [function] [call site] 00298
6 hashtable_iter_key [function] [call site] 00299
5 json_object_iter_key_len [function] [call site] 00300
6 hashtable_iter_key_len [function] [call site] 00301
5 json_object_iter_next [function] [call site] 00302
6 hashtable_iter_next [function] [call site] 00303
5 __assert_fail [call site] 00304
5 qsort [call site] 00305
5 compare_keys [function] [call site] 00306
6 memcmp [call site] 00307
5 json_object_getn [function] [call site] 00308
5 __assert_fail [call site] 00309
5 dump_string [function] [call site] 00310
5 do_dump [function] [call site] 00311
6 jsonp_free [function] [call site] 00312
6 dump_indent [function] [call site] 00313
6 jsonp_free [function] [call site] 00314
6 dump_indent [function] [call site] 00315
6 jsonp_free [function] [call site] 00316
6 jsonp_free [function] [call site] 00317
6 json_object_iter_next [function] [call site] 00318
6 json_object_iter_key [function] [call site] 00319
6 json_object_iter_key_len [function] [call site] 00320
6 dump_string [function] [call site] 00321
6 json_object_iter_value [function] [call site] 00322
7 hashtable_iter_value [function] [call site] 00323
6 do_dump [function] [call site] 00324
7 dump_indent [function] [call site] 00325
7 dump_indent [function] [call site] 00326
7 hashtable_del [function] [call site] 00327
3 hashtable_close [function] [call site] 00328
2 strbuffer_value [function] [call site] 00329
2 jsonp_strdup [function] [call site] 00330
3 jsonp_strndup [function] [call site] 00331
2 strbuffer_close [function] [call site] 00332
1 json_dump_callback [function] [call site] 00333
1 json_dump_counter(char const*, unsigned long, void*) [function] [call site] 00334
1 fprintf [call site] 00335
1 json_decref(json_t*) [function] [call site] 00336