Fuzz introspector: fuzzer-usb-descriptor
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
0 2 3 :

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

0 2 usbguard::Logger::setOutputConsole(bool) call site: 00000 /src/usbguard/src/Library/public/usbguard/Logger.cpp:320
0 0 None 0 32 usbguard::Logger::Logger() call site: 00000 /src/usbguard/src/Library/public/usbguard/Logger.cpp:287

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 (anonymous namespace)::DummyHooks::DummyHooks() [function] [call site] 00001
2 usbguard::USBDescriptorParserHooks::USBDescriptorParserHooks() [function] [call site] 00002
1 usbguard::USBDescriptorParser::USBDescriptorParser(usbguard::USBDescriptorParserHooks&) [function] [call site] 00003
1 usbguard::USBDescriptorParser::parse(std::__1::basic_istream<char, std::__1::char_traits<char> >&) [function] [call site] 00004
2 __cxa_allocate_exception [call site] 00005
2 std::runtime_error::runtime_error(char const*) [call site] 00006
2 __cxa_throw [call site] 00007
2 std::runtime_error::~runtime_error() [call site] 00008
2 __cxa_free_exception [call site] 00009
2 __cxa_allocate_exception [call site] 00010
2 std::runtime_error::runtime_error(char const*) [call site] 00011
2 __cxa_throw [call site] 00012
2 std::runtime_error::~runtime_error() [call site] 00013
2 __cxa_free_exception [call site] 00014
2 __cxa_allocate_exception [call site] 00015
2 std::runtime_error::runtime_error(char const*) [call site] 00016
2 __cxa_throw [call site] 00017
2 std::runtime_error::~runtime_error() [call site] 00018
2 __cxa_free_exception [call site] 00019
2 usbguard::USBDescriptorParser::setDescriptor(unsigned char, usbguard::USBDescriptor const&) [function] [call site] 00020
1 __cxa_begin_catch [call site] 00021
1 __cxa_end_catch [call site] 00022
1 usbguard::USBDescriptorParser::~USBDescriptorParser() [function] [call site] 00023
1 __cxa_begin_catch [call site] 00024
1 __cxa_end_catch [call site] 00025