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

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
663 663 1 :

['void usbguard::parseUEventFromString (std::__1::basic_string , std::__1::allocator > const&, usbguard::UEvent&, bool)']

663 663 usbguard::parseUEventFromString(std::__1::basic_string ,std::__1::allocator >const&,usbguard::UEvent&,bool,bool) call site: 00000 /src/usbguard/src/Library/UEventParser.cpp:151
2 2 1 :

['void tao::pegtl::normal > >::failure , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > > const&, usbguard::UEvent&)']

2 4 autotao::pegtl::match >,(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::UEventParser::actions,tao::pegtl::normal,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string ,std::__1::allocator >>,usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string ,std::__1::allocator >>&,usbguard::UEvent&) call site: 00000 /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/match.hpp:156
2 2 1 :

['void tao::pegtl::normal > >::failure , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > > const&, usbguard::UEvent&)']

2 4 autotao::pegtl::match >,(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::UEventParser::actions,tao::pegtl::normal,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string ,std::__1::allocator >>,usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string ,std::__1::allocator >>&,usbguard::UEvent&) call site: 00000 /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/match.hpp:156
2 2 1 :

['void tao::pegtl::normal > >::failure , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > > const&, usbguard::UEvent&)']

2 4 autotao::pegtl::match >,(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::UEventParser::actions,tao::pegtl::normal,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string ,std::__1::allocator >>,usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string ,std::__1::allocator >>&,usbguard::UEvent&) call site: 00000 /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/match.hpp:156
2 2 1 :

['void tao::pegtl::normal >::failure , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > > const&, usbguard::UEvent&)']

2 4 autotao::pegtl::match ,(tao::pegtl::apply_mode)1,(tao::pegtl::rewind_mode)0,usbguard::UEventParser::actions,tao::pegtl::normal,tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string ,std::__1::allocator >>,usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0,tao::pegtl::ascii::eol::lf_crlf,std::__1::basic_string ,std::__1::allocator >>&,usbguard::UEvent&) call site: 00000 /src/usbguard/./src/ThirdParty/PEGTL/include/tao/pegtl/match.hpp:156
2 2 3 :

['usbguard::Logger::delOutputSink_nolock(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::basic_string (char const*)']

2 2 usbguard::Logger::setOutputConsole(bool) call site: 00000 /src/usbguard/src/Library/public/usbguard/Logger.cpp:320
0 0 None 606 618 voidusbguard::parseUEventFromString (std::__1::basic_string ,std::__1::allocator >const&,usbguard::UEvent&,bool) call site: 00000 /src/usbguard/src/Library/UEventParser.cpp:133
0 0 None 26 110 voidusbguard::UEventParser::actions ::apply ,std::__1::allocator >>>>(tao::pegtl::internal::action_input ,std::__1::allocator >>>const&,usbguard::UEvent&) call site: 00000 /src/usbguard/src/Library/UEventParser.cpp:54
0 0 None 0 33 usbguard::Logger::Logger() call site: 00000 /src/usbguard/src/Library/public/usbguard/Logger.cpp:287
0 0 None 0 0 usbguard::trimRight(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/usbguard/src/Common/Utility.cpp:257
0 0 1 :

['std::__1::basic_string , std::__1::allocator >::basic_string(std::__1::basic_string , std::__1::allocator > const&)']

0 0 usbguard::trimLeft(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/usbguard/src/Common/Utility.cpp:269
0 0 1 :

['std::__1::basic_string , std::__1::allocator >::basic_string()']

0 0 usbguard::UEvent::getAttribute(std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/usbguard/src/Library/UEvent.cpp:67

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 usbguard::UEvent::fromString(std::__1::basic_string , std::__1::allocator > const&, bool, bool) [function] [call site] 00001
2 usbguard::UEvent::UEvent() [function] [call site] 00002
2 usbguard::parseUEventFromString(std::__1::basic_string , std::__1::allocator > const&, usbguard::UEvent&, bool, bool) [function] [call site] 00003
3 void usbguard::parseUEventFromString (std::__1::basic_string , std::__1::allocator > const&, usbguard::UEvent&, bool) [function] [call site] 00004
4 tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::string_input , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator >>(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator >&&) [function] [call site] 00005
5 tao::pegtl::internal::string_holder::string_holder , std::__1::allocator > const&>(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00006
5 tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::memory_input , std::__1::allocator > >(char const*, unsigned long, std::__1::basic_string , std::__1::allocator >&&) [function] [call site] 00007
6 tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::memory_input_base , std::__1::allocator > >(char const*, tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::memory_input_base, std::__1::basic_string , std::__1::allocator >&&) [function] [call site] 00008
7 tao::pegtl::internal::memory_input_base<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::memory_input_base , std::__1::allocator > >(char const*, char const*, std::__1::basic_string , std::__1::allocator >&&) [function] [call site] 00009
8 tao::pegtl::internal::iterator::iterator(char const*) [function] [call site] 00010
4 auto tao::pegtl::parse , std::__1::allocator > >&, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00011
5 bool tao::pegtl::normal ::match<(tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)1, usbguard::UEventParser::actions, tao::pegtl::normal, tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00012
6 auto tao::pegtl::match , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00013
7 tao::pegtl::internal::marker tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::mark<(tao::pegtl::rewind_mode)2>() [function] [call site] 00014
8 tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::iterator() [function] [call site] 00015
8 tao::pegtl::internal::marker ::marker(tao::pegtl::internal::iterator const&) [function] [call site] 00016
7 void tao::pegtl::normal ::start , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > > const&, usbguard::UEvent&) [function] [call site] 00017
7 auto tao::pegtl::internal::match_control_unwind , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00018
8 decltype (usbguard::UEventParser::attributes::match<(tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)1, usbguard::UEventParser::actions, tao::pegtl::normal>({parm#1}, {parm#2}...)) tao::pegtl::internal::match_no_control , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00019
9 bool tao::pegtl::internal::seq , usbguard::UEventParser::attribute> >::match<(tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)1, usbguard::UEventParser::actions, tao::pegtl::normal, tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00020
10 tao::pegtl::internal::marker tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::mark<(tao::pegtl::rewind_mode)1>() [function] [call site] 00021
10 bool tao::pegtl::normal ::match<(tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)0, usbguard::UEventParser::actions, tao::pegtl::normal, tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00022
10 tao::pegtl::internal::marker ::operator()(bool) [function] [call site] 00023
10 tao::pegtl::internal::marker ::~marker() [function] [call site] 00024
7 void tao::pegtl::normal ::success , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > > const&, usbguard::UEvent&) [function] [call site] 00025
7 void tao::pegtl::normal ::failure , std::__1::allocator > >, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > > const&, usbguard::UEvent&) [function] [call site] 00026
7 tao::pegtl::internal::marker ::operator()(bool) const [function] [call site] 00027
4 tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::~string_input() [function] [call site] 00028
5 tao::pegtl::internal::memory_input_base<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::~memory_input_base() [function] [call site] 00029
5 tao::pegtl::internal::string_holder::~string_holder() [function] [call site] 00030
4 bool tao::pegtl::complete_trace , std::__1::allocator > >&, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00031
5 tao::pegtl::tracer >::tracer , std::__1::allocator > > >(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > > const&) [function] [call site] 00032
6 tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::position() const [function] [call site] 00033
7 tao::pegtl::memory_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >::iterator() const [function] [call site] 00034
6 tao::pegtl::tracer >::print_position() const [function] [call site] 00035
7 tao::pegtl::tracer >::indent() const [function] [call site] 00036
7 tao::pegtl::operator<<(std::__1::basic_ostream >&, tao::pegtl::position const&) [function] [call site] 00037
6 tao::pegtl::position::~position() [function] [call site] 00038
5 bool tao::pegtl::tracer >::parse , std::__1::allocator > >&, usbguard::UEvent&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&) [function] [call site] 00039
6 auto tao::pegtl::parse ::type, (tao::pegtl::apply_mode)1, (tao::pegtl::rewind_mode)1, tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&, tao::pegtl::tracer >&>(tao::pegtl::string_input<(tao::pegtl::tracking_mode)0, tao::pegtl::ascii::eol::lf_crlf, std::__1::basic_string , std::__1::allocator > >&, usbguard::UEvent&, tao::pegtl::tracer >&) [function] [call site] 00040
5 tao::pegtl::tracer >::~tracer() [function] [call site] 00041
6 tao::pegtl::position::~position() [function] [call site] 00042
4 __cxa_begin_catch [call site] 00043
4 __cxa_rethrow [call site] 00044
4 __cxa_end_catch [call site] 00045
3 void usbguard::parseUEventFromString (std::__1::basic_string , std::__1::allocator > const&, usbguard::UEvent&, bool) [function] [call site] 00046
2 usbguard::UEvent::~UEvent() [function] [call site] 00047
1 usbguard::UEvent::~UEvent() [function] [call site] 00048
1 __cxa_begin_catch [call site] 00049
1 __cxa_end_catch [call site] 00050