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

Fuzzer details

Fuzzer: easyws_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 7 19.4%
gold [1:9] 5 13.8%
yellow [10:29] 1 2.77%
greenyellow [30:49] 1 2.77%
lawngreen 50+ 22 61.1%
All colors 36 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
10 10 6 :

['(anonymous namespace)::_RealWebSocket::_RealWebSocket(int, bool)', 'fcntl', 'recv', 'setsockopt', 'operator new(unsigned long)', 'operator delete(void*)']

10 10 (anonymousnamespace)::from_url(std::__1::basic_string ,std::__1::allocator >const&,bool,std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/easywsclient/easywsclient.cpp:515
0 0 None 26 26 (anonymousnamespace)::from_url(std::__1::basic_string ,std::__1::allocator >const&,bool,std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/easywsclient/easywsclient.cpp:506
0 0 None 2 2 (anonymousnamespace)::hostname_connect(std::__1::basic_string ,std::__1::allocator >const&,int) call site: 00000 /src/easywsclient/easywsclient.cpp:103
0 0 None 0 0 (anonymousnamespace)::from_url(std::__1::basic_string ,std::__1::allocator >const&,bool,std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/easywsclient/easywsclient.cpp:465

Runtime coverage analysis

Covered functions
4
Functions that are reachable but not covered
18
Reachable functions
25
Percentage of reachable functions covered
28.0%
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/easyws_fuzzer.cpp 1
/src/easywsclient/easywsclient.cpp 4
/src/easywsclient/./easywsclient.hpp 1