Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzzer details

Fuzzer: tokener_parse_ex_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 107 36.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.34%
lawngreen 50+ 182 62.7%
All colors 290 100

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

Runtime coverage analysis

Covered functions
68
Functions that are reachable but not covered
52
Reachable functions
116
Percentage of reachable functions covered
55.17%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/tokener_parse_ex_fuzzer.cc 1
json_tokener.c 10
printbuf.c 6
json_object.c 50
linkhash.c 6
arraylist.c 7
linkhash.h 6
json_util.c 2