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 17 8.41%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.49%
lawngreen 50+ 184 91.0%
All colors 202 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:337
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: 00160 /src/json-c/json_object.c:1566
2 2 1 :

['__errno_location']

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

['__errno_location']

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

['array_list_expand_internal']

0 9 array_list_shrink call site: 00165 /src/json-c/arraylist.c:116
0 0 None 93 1678 json_tokener_parse_ex call site: 00106 /src/json-c/json_tokener.c:827
0 0 None 93 1678 json_tokener_parse_ex call site: 00118 /src/json-c/json_tokener.c:942
0 0 None 4 43 json_tokener_parse_ex call site: 00042 /src/json-c/json_tokener.c:414
0 0 None 4 43 json_tokener_parse_ex call site: 00056 /src/json-c/json_tokener.c:424
0 0 None 4 43 json_tokener_parse_ex call site: 00071 /src/json-c/json_tokener.c:530
0 0 None 4 43 json_tokener_parse_ex call site: 00078 /src/json-c/json_tokener.c:566

Runtime coverage analysis

Covered functions
68
Functions that are reachable but not covered
51
Reachable functions
115
Percentage of reachable functions covered
55.65%
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 5
json_object.c 30
linkhash.c 6
arraylist.c 5
linkhash.h 5
json_util.c 2