Fuzz introspector: fuzz_target_proxyprotocol
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 0 None 10 10 makeComboAddressFromRaw(unsignedchar,charconst*,unsignedlong) call site: 00000 /src/pdns/pdns/./iputils.hh:455

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 ComboAddress::ComboAddress() [function] [call site] 00001
1 ComboAddress::ComboAddress() [function] [call site] 00002
1 long parseProxyHeader , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator > const&, bool&, ComboAddress&, ComboAddress&, bool&, std::__1::vector >&) [function] [call site] 00003
2 long isProxyHeaderComplete , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator > const&, bool*, bool*, unsigned long*, unsigned char*) [function] [call site] 00004
3 memcmp [call site] 00005
2 makeComboAddressFromRaw(unsigned char, char const*, unsigned long) [function] [call site] 00006
3 ComboAddress::ComboAddress() [function] [call site] 00007
3 __cxa_allocate_exception [call site] 00008
3 NetmaskException::NetmaskException(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00009
4 PDNSException::PDNSException(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00010
3 __cxa_allocate_exception [call site] 00011
3 NetmaskException::NetmaskException(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00012
3 __cxa_allocate_exception [call site] 00013
3 NetmaskException::NetmaskException(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00014
3 __cxa_free_exception [call site] 00015
2 makeComboAddressFromRaw(unsigned char, char const*, unsigned long) [function] [call site] 00016
2 ComboAddress::setPort(unsigned short) [function] [call site] 00017
3 __bswap_16(unsigned short) [function] [call site] 00018
2 ComboAddress::setPort(unsigned short) [function] [call site] 00019
2 ProxyProtocolValue::~ProxyProtocolValue() [function] [call site] 00020
2 ProxyProtocolValue::~ProxyProtocolValue() [function] [call site] 00021
1 __cxa_begin_catch [call site] 00022
1 __cxa_end_catch [call site] 00023
1 __cxa_begin_catch [call site] 00024