Project: usbguard

Language c++
OSS-Fuzz project link
Build status: Fuzzers succeeding: Build log
Build status: Code coverage succeeding: Build log
Build status: Fuzz Introspector succeeding: Build log
Fuzzer count 3
Lines of code 3525
Lines covered 1407
Code coverage 39.91%
Code coverage report Report link
Static reachability 7.63%
Fuzz Introspector report Report link

Historical progression

Functions of interest to fuzz

This section outlines functions that may be of interest to fuzz. They are based on ranking functions that have a lot of complexity but currently exhibit low code coverage. The complexity is calculated based on the function itself as well as the functions called by the given function, i.e. the tree of code that the function triggers.


This is only a minor amount of introspection information available for this project. Please consult the Fuzz Introspector report for more information, e.g. the introspection table of all functions in the target project available here.

Function name Function source file Accumulated cyclomatic complexity Code coverage
booltao::pegtl::normal<tao::pegtl::list<usbguard::RuleParser::condition,tao::pegtl::plus<tao::pegtl::ascii::blank>,void>>::match<(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::condition_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/contrib/../normal.hpp 1633 0.0%
autotao::pegtl::match<tao::pegtl::list<usbguard::RuleParser::condition,tao::pegtl::plus<tao::pegtl::ascii::blank>,void>,(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::condition_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/match.hpp 1631 0.0%
autotao::pegtl::internal::match_control_unwind<tao::pegtl::list<usbguard::RuleParser::condition,tao::pegtl::plus<tao::pegtl::ascii::blank>,void>,(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::condition_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/match.hpp 1584 0.0%
decltype(tao::pegtl::list<usbguard::RuleParser::condition,tao::pegtl::plus<tao::pegtl::ascii::blank>,void>::match<(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::condition_actions,tao::pegtl::state_control<tao::pegtl::normal>::type>({parm#1},{parm#2}...))tao::pegtl::internal::match_no_control<tao::pegtl::list<usbguard::RuleParser::condition,tao::pegtl::plus<tao::pegtl::ascii::blank>,void>,(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::condition_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/match.hpp 1559 0.0%
booltao::pegtl::internal::seq<usbguard::RuleParser::condition,tao::pegtl::internal::star<tao::pegtl::plus<tao::pegtl::ascii::blank>,usbguard::RuleParser::condition>>::match<(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::condition_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/internal/seq.hpp 1557 0.0%
booltao::pegtl::normal<usbguard::RuleParser::condition>::match<(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::condition_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/contrib/../normal.hpp 1554 0.0%
autotao::pegtl::match<usbguard::RuleParser::condition,(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::condition_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/match.hpp 1552 0.0%
booltao::pegtl::normal<tao::pegtl::list<usbguard::RuleParser::string_value,tao::pegtl::plus<tao::pegtl::ascii::blank>,void>>::match<(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::label_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/contrib/../normal.hpp 1441 0.0%
booltao::pegtl::normal<tao::pegtl::list<usbguard::RuleParser::string_value,tao::pegtl::plus<tao::pegtl::ascii::blank>,void>>::match<(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::with_connect_type_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/contrib/../normal.hpp 1441 0.0%
booltao::pegtl::normal<tao::pegtl::list<usbguard::RuleParser::string_value,tao::pegtl::plus<tao::pegtl::ascii::blank>,void>>::match<(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::RuleParser::via_port_actions,tao::pegtl::state_control<tao::pegtl::normal>::type,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>>>&,usbguard::Rule&,tao::pegtl::tracer<tao::pegtl::tracer_traits<false,true,2ul,8ul>>&) /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/contrib/../normal.hpp 1441 0.0%