Fuzz introspector: /src/resiprocate/rutil/dns/ares/ares-test-fuzz.c
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
346 2071 13 :

['resip::ParseBuffer::skipToOneOf(char const*, char const*)', 'resip::ParseBuffer::skipChars(char const*)', 'resip::ParseBuffer::CurrentPosition::operator char const*() const', 'resip::ParseBuffer::data(resip::Data&, char const*) const', 'resip::skipSipLWS(resip::ParseBuffer&)', 'resip::ParseBuffer::skipWhitespace()', 'resip::ParseBuffer::skipToChar(char)', 'resip::Data::operator=(resip::Data const&)', 'std::__1::map , std::__1::allocator > >::operator[](resip::Data const&)', 'resip::ParseBuffer::eof() const', 'resip::ParseBuffer::skipChar(char)', 'resip::Data::Data()', 'resip::ParseBuffer::position() const']

346 2103 resip::MessageWaitingContents::parse(resip::ParseBuffer&) call site: 00000 /src/resiprocate/resip/stack/MessageWaitingContents.cxx:411
250 250 1 :

['resip::SipMessage::throwHeaderMissing(resip::Headers::Type) const']

250 250 resip::SipMessage::ensureHeader(resip::Headers::Type)const call site: 00000 /src/resiprocate/resip/stack/SipMessage.hxx:614
28 28 1 :

['resip::Tuple::operator=(resip::Tuple const&)']

46 105 resip::SipMessage::SipMessage(resip::Tupleconst*) call site: 00000 /src/resiprocate/resip/stack/SipMessage.cxx:47
6 6 3 :

['__cxa_allocate_exception', 'std::bad_alloc::bad_alloc()', '__cxa_throw']

6 6 resip::Data::initFromString(charconst*,unsignedint) call site: 00000 /src/resiprocate/rutil/Data.cxx:281
2 24 2 :

['syslog', 'resip::Data::c_str() const']

813 944 resip::Log::initialize(resip::Log::Type,resip::Log::Level,resip::Dataconst&,charconst*,resip::ExternalLogger*,resip::Dataconst&,resip::Log::MessageStructure,resip::Dataconst&) call site: 00000 /src/resiprocate/rutil/Log.cxx:288
2 2 1 :

['__bswap_32(unsigned int)']

4 4 resip::Tuple::Tuple(resip::Dataconst&,int,resip::TransportType,resip::Dataconst&,resip::Dataconst&) call site: 00000 /src/resiprocate/resip/stack/Tuple.cxx:133
0 160 1 :

['resip::operator==(resip::Data const&, char const*)']

0 160 resip::Log::parseSyslogFacilityName(resip::Dataconst&) call site: 00000 /src/resiprocate/rutil/Log.cxx:186
0 31 2 :

['resip::Uri::Uri(resip::PoolBase*)', 'operator delete(void*)']

1049 9160 resip::MessageWaitingContents::parse(resip::ParseBuffer&) call site: 00000 /src/resiprocate/resip/stack/MessageWaitingContents.cxx:321
0 26 1 :

['resip::Data::operator=(resip::Data const&)']

0 26 resip::Uri::operator=(resip::Uriconst&) call site: 00000 /src/resiprocate/resip/stack/Uri.cxx:367
0 18 1 :

['resip::Data::resize(unsigned int, bool)']

0 18 resip::Data::copy(charconst*,unsignedint) call site: 00000 /src/resiprocate/rutil/Data.cxx:693
0 6 1 :

['resip::HeaderFieldValueList::push_back(char const*, unsigned long, bool)']

0 6 resip::SipMessage::ensureHeader(resip::Headers::Type) call site: 00000 /src/resiprocate/resip/stack/SipMessage.cxx:1364
0 0 None 1547 8483 resip::MultipartMixedContents::parse(resip::ParseBuffer&) call site: 00000 /src/resiprocate/resip/stack/MultipartMixedContents.cxx:186

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 ares_parse_a_reply [function] [call site] 00001
2 ares_expand_name [function] [call site] 00002
2 ares_expand_name [function] [call site] 00003
2 strcasecmp [call site] 00004
2 ares_expand_name [function] [call site] 00005
1 ares_free_hostent [function] [call site] 00006
1 ares_parse_ptr_reply [function] [call site] 00007
2 ares_expand_name [function] [call site] 00008
2 ares_expand_name [function] [call site] 00009
2 strcasecmp [call site] 00010
2 ares_expand_name [function] [call site] 00011
2 ares_expand_name [function] [call site] 00012
1 ares_free_hostent [function] [call site] 00013