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

Fuzzer details

Fuzzer: usbredirfilterfuzz

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 3 7.89%
gold [1:9] 1 2.63%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 34 89.4%
All colors 38 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2 1 LLVMFuzzerTestOneInput call site: 00001 perror
1 14 usbredirfilter_string_to_rules call site: 00014 usbredirfilter_verify

Runtime coverage analysis

Covered functions
9
Functions that are reachable but not covered
11
Reachable functions
18
Percentage of reachable functions covered
38.89%
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
/work/build/../../src/spice-usbredir/fuzzing/usbredirfilterfuzz.cc 1
/work/build/../../src/spice-usbredir/usbredirparser/usbredirfilter.c 6

Fuzzer: usbredirparserfuzz

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 15 5.97%
gold [1:9] 4 1.59%
yellow [10:29] 4 1.59%
greenyellow [30:49] 1 0.39%
lawngreen 50+ 227 90.4%
All colors 251 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 4 2 :

['free', 'va_log']

0 4 usbredirparser_queue call site: 00129 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1237
0 4 2 :

['free', 'va_log']

0 4 serialize_alloc call site: 00198 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1599
0 0 None 2 261 usbredirparser_unserialize call site: 00191 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1813
0 0 None 2 55 usbredirparser_unserialize call site: 00191 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1991
0 0 None 2 2 usbredirparser_do_write call site: 00249 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1177
0 0 None 0 11 usbredirparser_unserialize call site: 00191 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1942
0 0 None 0 4 usbredirparser_queue call site: 00082 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1223
0 0 None 0 4 usbredirparser_queue call site: 00092 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1228
0 0 None 0 4 unserialize_data call site: 00162 /work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c:1691

Runtime coverage analysis

Covered functions
84
Functions that are reachable but not covered
15
Reachable functions
109
Percentage of reachable functions covered
86.24%
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
/work/build/../../src/spice-usbredir/fuzzing/usbredirparserfuzz.cc 53
/work/build/../../src/spice-usbredir/usbredirparser/usbredirparser.c 29
/work/build/../../src/spice-usbredir/usbredirparser/usbredirfilter.c 3