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

Fuzzer details

Fuzzer: cjson_read_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 4 6.25%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 60 93.7%
All colors 64 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
2 2 1 :

['strcpy']

2 16 print_string_ptr call site: 00031 /src/cjson/cJSON.c:917
0 0 None 0 202 print_object call site: 00042 /src/cjson/cJSON.c:1759
0 0 None 0 202 print_object call site: 00046 /src/cjson/cJSON.c:1779
0 0 None 0 139 print_array call site: 00038 /src/cjson/cJSON.c:1564
0 0 None 0 105 cJSON_PrintBuffered call site: 00010 /src/cjson/cJSON.c:1272
0 0 None 0 18 cJSON_ParseWithLengthOpts call site: 00003 /src/cjson/cJSON.c:1104
0 0 None 0 18 cJSON_ParseWithLengthOpts call site: 00004 /src/cjson/cJSON.c:1115
0 0 None 0 18 parse_array call site: 00000 /src/cjson/cJSON.c:1452
0 0 None 0 18 parse_array call site: 00000 /src/cjson/cJSON.c:1480
0 0 None 0 18 parse_object call site: 00000 /src/cjson/cJSON.c:1638
0 0 None 0 6 print call site: 00055 /src/cjson/cJSON.c:1206
0 0 None 0 0 cJSON_ParseWithOpts call site: 00001 /src/cjson/cJSON.c:1083

Runtime coverage analysis

Covered functions
32
Functions that are reachable but not covered
7
Reachable functions
39
Percentage of reachable functions covered
82.05%
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
fuzzing/cjson_read_fuzzer.c 1
cJSON.c 24