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

Fuzzer details

Fuzzer: 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 10 9.52%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 95 90.4%
All colors 105 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
0 3 1 :

['do_free']

0 3 protobuf_c_message_unpack call site: 00021 /src/protobuf-c/protobuf-c/protobuf-c.c:3304
0 3 1 :

['do_free']

0 3 protobuf_c_message_unpack call site: 00021 /src/protobuf-c/protobuf-c/protobuf-c.c:3312
0 3 1 :

['do_free']

0 3 protobuf_c_message_unpack call site: 00021 /src/protobuf-c/protobuf-c/protobuf-c.c:3320
0 0 None 179 948 protobuf_c_message_pack call site: 00000 /src/protobuf-c/protobuf-c/protobuf-c.c:1513
0 0 None 109 568 protobuf_c_message_get_packed_size call site: 00000 /src/protobuf-c/protobuf-c/protobuf-c.c:738
0 0 None 0 420 protobuf_c_message_unpack call site: 00004 /src/protobuf-c/protobuf-c/protobuf-c.c:3064
0 0 None 0 420 protobuf_c_message_unpack call site: 00004 /src/protobuf-c/protobuf-c/protobuf-c.c:3069
0 0 None 0 369 protobuf_c_message_unpack call site: 00014 /src/protobuf-c/protobuf-c/protobuf-c.c:3234
0 0 None 0 369 protobuf_c_message_unpack call site: 00019 /src/protobuf-c/protobuf-c/protobuf-c.c:3256
0 0 None 0 156 merge_messages call site: 00060 /src/protobuf-c/protobuf-c/protobuf-c.c:2205
0 0 None 0 156 merge_messages call site: 00064 /src/protobuf-c/protobuf-c/protobuf-c.c:2276
0 0 None 0 145 parse_required_member call site: 00037 /src/protobuf-c/protobuf-c/protobuf-c.c:2606

Runtime coverage analysis

Covered functions
86
Functions that are reachable but not covered
13
Reachable functions
88
Percentage of reachable functions covered
85.23%
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
protobuf-c-fuzzers/fuzzer.cpp 1
protobuf-c-fuzzers/test-full.pb-c.c 3
protobuf-c/protobuf-c/protobuf-c.c 27
/usr/include/fuzzing/memory.hpp 3