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
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 0 33 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 >&) [function] [call site] 00004
2 __cxa_allocate_exception [call site] 00005
2 __cxa_allocate_exception [call site] 00006
2 __cxa_allocate_exception [call site] 00007
2 usbguard::USBDescriptorParser::setDescriptor(unsigned char, usbguard::USBDescriptor const&) [function] [call site] 00008
1 __cxa_begin_catch [call site] 00009
1 __cxa_end_catch [call site] 00010
1 usbguard::USBDescriptorParser::~USBDescriptorParser() [function] [call site] 00011
1 __cxa_begin_catch [call site] 00012