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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
227 0 EP call site: 00000 memcpy

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 opendnp3::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00001
1 opendnp3::ConsoleLogger::Create(bool) [function] [call site] 00002
1 opendnp3::ModuleId::ModuleId() [function] [call site] 00003
1 opendnp3::Logger::Logger(std::__1::shared_ptr<opendnp3::ILogHandler> const&, opendnp3::ModuleId, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, opendnp3::LogLevels) [function] [call site] 00004
1 opendnp3::IDecoderCallbacks::IDecoderCallbacks() [function] [call site] 00005
2 opendnp3::Uncopyable::Uncopyable() [function] [call site] 00006
1 opendnp3::Decoder::Decoder(opendnp3::IDecoderCallbacks&, opendnp3::Logger const&) [function] [call site] 00007
2 opendnp3::DecoderImpl::DecoderImpl(opendnp3::IDecoderCallbacks&, opendnp3::Logger const&) [function] [call site] 00008
3 opendnp3::IFrameSink::IFrameSink() [function] [call site] 00009
3 opendnp3::Logger::Logger(opendnp3::Logger const&) [function] [call site] 00010
3 opendnp3::LinkLayerParser::LinkLayerParser(opendnp3::Logger const&) [function] [call site] 00011
4 opendnp3::Logger::Logger(opendnp3::Logger const&) [function] [call site] 00012
4 opendnp3::LinkStatistics::Parser::Parser() [function] [call site] 00013
4 opendnp3::LinkHeader::LinkHeader() [function] [call site] 00014
4 ser4cpp::RSeq<unsigned long>::RSeq() [function] [call site] 00015
5 ser4cpp::HasLength<unsigned long>::HasLength(unsigned long) [function] [call site] 00016
4 opendnp3::ShiftableBuffer::ShiftableBuffer(unsigned char*, unsigned long) [function] [call site] 00017
4 opendnp3::Logger::~Logger() [function] [call site] 00018
3 opendnp3::TransportRx::TransportRx(opendnp3::Logger const&, unsigned int) [function] [call site] 00019
4 opendnp3::Logger::Logger(opendnp3::Logger const&) [function] [call site] 00020
4 opendnp3::StackStatistics::Transport::Rx::Rx() [function] [call site] 00021
4 ser4cpp::Buffer::Buffer(unsigned long) [function] [call site] 00022
5 ser4cpp::HasLength<unsigned long>::HasLength(unsigned long) [function] [call site] 00023
5 ser4cpp::Uncopyable::Uncopyable() [function] [call site] 00024
5 ser4cpp::Uncopyable::~Uncopyable() [function] [call site] 00025
4 opendnp3::Addresses::Addresses() [function] [call site] 00026
4 opendnp3::SequenceNum<unsigned char, (unsigned char)64>::SequenceNum() [function] [call site] 00027
4 ser4cpp::Buffer::~Buffer() [function] [call site] 00028
5 ser4cpp::Uncopyable::~Uncopyable() [function] [call site] 00029
4 opendnp3::Logger::~Logger() [function] [call site] 00030
3 opendnp3::LinkLayerParser::~LinkLayerParser() [function] [call site] 00031
4 opendnp3::Logger::~Logger() [function] [call site] 00032
3 opendnp3::Logger::~Logger() [function] [call site] 00033
3 opendnp3::IFrameSink::~IFrameSink() [function] [call site] 00034
1 opendnp3::Decoder::DecodeLPDU(opendnp3::Buffer const&) [function] [call site] 00035
2 ser4cpp::RSeq<unsigned long>::RSeq(unsigned char const*, unsigned long) [function] [call site] 00036
3 ser4cpp::HasLength<unsigned long>::HasLength(unsigned long) [function] [call site] 00037
2 opendnp3::DecoderImpl::DecodeLPDU(ser4cpp::RSeq<unsigned long> const&) [function] [call site] 00038
3 opendnp3::Indent::Indent(opendnp3::IDecoderCallbacks&) [function] [call site] 00039
4 opendnp3::Uncopyable::Uncopyable() [function] [call site] 00040
4 opendnp3::Uncopyable::~Uncopyable() [function] [call site] 00041
3 ser4cpp::HasLength<unsigned long>::is_not_empty() const [function] [call site] 00042
3 opendnp3::LinkLayerParser::WriteBuff() const [function] [call site] 00043
4 opendnp3::ShiftableBuffer::WriteBuff() const [function] [call site] 00044
4 opendnp3::ShiftableBuffer::NumWriteBytes() const [function] [call site] 00045
4 ser4cpp::WSeq<unsigned long>::WSeq(unsigned char*, unsigned long) [function] [call site] 00046
3 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00047
3 ser4cpp::RSeq<unsigned long>::take(unsigned long) const [function] [call site] 00048
4 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00049
4 ser4cpp::RSeq<unsigned long>::RSeq(unsigned char const*, unsigned long) [function] [call site] 00050
3 ser4cpp::WSeq<unsigned long>::copy_from(ser4cpp::RSeq<unsigned long> const&) [function] [call site] 00051
4 ser4cpp::RSeq<unsigned long> ser4cpp::WSeq<unsigned long>::transfer_from<(void* (*)(void*, void const*, unsigned long))(&memcpy)>(ser4cpp::RSeq<unsigned long> const&) [function] [call site] 00052
5 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00053
5 ser4cpp::RSeq<unsigned long>::empty() [function] [call site] 00054
6 ser4cpp::RSeq<unsigned long>::RSeq(unsigned char const*, unsigned long) [function] [call site] 00055
5 ser4cpp::WSeq<unsigned long>::readonly() const [function] [call site] 00056
6 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00057
6 ser4cpp::RSeq<unsigned long>::RSeq(unsigned char const*, unsigned long) [function] [call site] 00058
5 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00059
5 ser4cpp::RSeq<unsigned long>::take(unsigned long) const [function] [call site] 00060
5 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00061
5 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00062
5 memcpy [call site] 00063
5 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00064
5 ser4cpp::WSeq<unsigned long>::advance(unsigned long) [function] [call site] 00065
6 unsigned long ser4cpp::min<unsigned long>(unsigned long, unsigned long) [function] [call site] 00066
3 opendnp3::LinkLayerParser::OnRead(unsigned long, opendnp3::IFrameSink&) [function] [call site] 00067
4 opendnp3::ShiftableBuffer::AdvanceWrite(unsigned long) [function] [call site] 00068
5 opendnp3::ShiftableBuffer::NumWriteBytes() const [function] [call site] 00069
5 __assert_fail [call site] 00070
4 opendnp3::LinkLayerParser::ParseUntilComplete() [function] [call site] 00071
5 opendnp3::LinkLayerParser::ParseOneStep() [function] [call site] 00072
6 opendnp3::LinkLayerParser::ParseSync() [function] [call site] 00073
7 opendnp3::ShiftableBuffer::NumBytesRead() const [function] [call site] 00074
7 opendnp3::ShiftableBuffer::Sync(unsigned long&) [function] [call site] 00075
8 opendnp3::ShiftableBuffer::NumBytesRead() const [function] [call site] 00076
8 opendnp3::ShiftableBuffer::ReadBuffer() const [function] [call site] 00077
9 opendnp3::ShiftableBuffer::NumBytesRead() const [function] [call site] 00078
9 ser4cpp::RSeq<unsigned long>::RSeq(unsigned char const*, unsigned long) [function] [call site] 00079
8 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00080
8 opendnp3::ShiftableBuffer::AdvanceRead(unsigned long) [function] [call site] 00081
9 opendnp3::ShiftableBuffer::NumBytesRead() const [function] [call site] 00082
9 __assert_fail [call site] 00083
7 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00084
8 opendnp3::LogLevels::is_set(opendnp3::LogLevel const&) const [function] [call site] 00085
7 snprintf [call site] 00086
7 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00087
6 opendnp3::LinkLayerParser::ParseHeader() [function] [call site] 00088
7 opendnp3::ShiftableBuffer::NumBytesRead() const [function] [call site] 00089
7 opendnp3::LinkLayerParser::ReadHeader() [function] [call site] 00090
8 opendnp3::ShiftableBuffer::ReadBuffer() const [function] [call site] 00091
8 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00092
8 opendnp3::LinkHeader::Read(unsigned char const*) [function] [call site] 00093
9 ser4cpp::RSeq<unsigned long>::RSeq(unsigned char const*, unsigned long) [function] [call site] 00094
9 ser4cpp::Bit16<unsigned short, (unsigned char)0, (unsigned char)1>::read_from(ser4cpp::RSeq<unsigned long>&, unsigned short&) [function] [call site] 00095
10 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00096
10 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00097
10 ser4cpp::Bit16<unsigned short, (unsigned char)0, (unsigned char)1>::read(unsigned char const*) [function] [call site] 00098
10 ser4cpp::RSeq<unsigned long>::advance(unsigned long) [function] [call site] 00099
11 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00100
11 unsigned long ser4cpp::min<unsigned long>(unsigned long, unsigned long) [function] [call site] 00101
9 ser4cpp::Bit16<unsigned short, (unsigned char)0, (unsigned char)1>::read_from(ser4cpp::RSeq<unsigned long>&, unsigned short&) [function] [call site] 00102
8 opendnp3::ShiftableBuffer::ReadBuffer() const [function] [call site] 00103
8 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00104
8 opendnp3::CRC::IsCorrectCRC(unsigned char const*, unsigned long) [function] [call site] 00105
8 opendnp3::LinkLayerParser::ValidateHeaderParameters() [function] [call site] 00106
9 opendnp3::LinkHeader::ValidLength() [function] [call site] 00107
9 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00108
9 opendnp3::LinkHeader::GetLength() const [function] [call site] 00109
9 snprintf [call site] 00110
9 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00111
9 opendnp3::LinkLayerParser::ValidateFunctionCode() [function] [call site] 00112
10 opendnp3::LinkHeader::IsPriToSec() const [function] [call site] 00113
10 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00114
11 opendnp3::LinkFunctionSpec::from_type(unsigned char) [function] [call site] 00115
10 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00116
10 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00117
10 opendnp3::LinkFunctionSpec::to_human_string(opendnp3::LinkFunction) [function] [call site] 00118
10 snprintf [call site] 00119
10 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00120
10 opendnp3::LinkHeader::IsFcvDfcSet() const [function] [call site] 00121
10 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00122
10 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00123
10 opendnp3::LinkFunctionSpec::to_human_string(opendnp3::LinkFunction) [function] [call site] 00124
10 snprintf [call site] 00125
10 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00126
10 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00127
10 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00128
10 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00129
10 opendnp3::LinkFunctionSpec::to_human_string(opendnp3::LinkFunction) [function] [call site] 00130
10 snprintf [call site] 00131
10 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00132
10 opendnp3::LinkHeader::IsFcbSet() const [function] [call site] 00133
10 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00134
10 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00135
10 opendnp3::LinkFunctionSpec::to_human_string(opendnp3::LinkFunction) [function] [call site] 00136
10 snprintf [call site] 00137
10 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00138
9 opendnp3::LinkHeader::GetLength() const [function] [call site] 00139
9 opendnp3::LinkFrame::CalcFrameSize(unsigned long) [function] [call site] 00140
10 opendnp3::LinkFrame::CalcUserDataSize(unsigned long) [function] [call site] 00141
9 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00142
9 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00143
9 opendnp3::LinkFunctionSpec::to_human_string(opendnp3::LinkFunction) [function] [call site] 00144
9 snprintf [call site] 00145
9 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00146
9 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00147
9 opendnp3::LinkFunctionSpec::to_human_string(opendnp3::LinkFunction) [function] [call site] 00148
9 snprintf [call site] 00149
9 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00150
9 opendnp3::LinkFrame::CalcFrameSize(unsigned long) [function] [call site] 00151
8 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00152
8 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00153
7 opendnp3::LinkLayerParser::FailFrame() [function] [call site] 00154
8 opendnp3::ShiftableBuffer::AdvanceRead(unsigned long) [function] [call site] 00155
6 opendnp3::LinkLayerParser::ParseBody() [function] [call site] 00156
7 opendnp3::ShiftableBuffer::NumBytesRead() const [function] [call site] 00157
7 opendnp3::LinkLayerParser::ValidateBody() [function] [call site] 00158
8 opendnp3::LinkHeader::GetLength() const [function] [call site] 00159
8 opendnp3::ShiftableBuffer::ReadBuffer() const [function] [call site] 00160
8 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00161
8 opendnp3::LinkFrame::ValidateBodyCRC(unsigned char const*, unsigned long) [function] [call site] 00162
9 opendnp3::CRC::IsCorrectCRC(unsigned char const*, unsigned long) [function] [call site] 00163
8 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00164
8 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00165
8 opendnp3::LinkFunctionSpec::to_human_string(opendnp3::LinkFunction) [function] [call site] 00166
8 opendnp3::LinkHeader::GetDest() const [function] [call site] 00167
8 opendnp3::LinkHeader::GetSrc() const [function] [call site] 00168
8 opendnp3::LinkHeader::GetLength() const [function] [call site] 00169
8 snprintf [call site] 00170
8 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00171
8 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00172
8 opendnp3::ShiftableBuffer::ReadBuffer() const [function] [call site] 00173
8 ser4cpp::RSeq<unsigned long>::take(unsigned long) const [function] [call site] 00174
8 opendnp3::HexLogging::log(opendnp3::Logger&, opendnp3::LogLevel, ser4cpp::RSeq<unsigned long> const&, char, unsigned int, unsigned int) [function] [call site] 00175
9 unsigned int ser4cpp::bounded<unsigned int>(unsigned int, unsigned int, unsigned int) [function] [call site] 00176
10 unsigned int ser4cpp::max<unsigned int>(unsigned int, unsigned int) [function] [call site] 00177
10 unsigned int ser4cpp::min<unsigned int>(unsigned int, unsigned int) [function] [call site] 00178
9 unsigned int ser4cpp::bounded<unsigned int>(unsigned int, unsigned int, unsigned int) [function] [call site] 00179
9 ser4cpp::HasLength<unsigned long>::is_not_empty() const [function] [call site] 00180
9 opendnp3::HexLogging::log_line(opendnp3::Logger&, opendnp3::LogLevel, ser4cpp::RSeq<unsigned long> const&, char, unsigned int) [function] [call site] 00181
10 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00182
10 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00183
10 ser4cpp::HexConversions::to_hex_char(char) [function] [call site] 00184
10 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00185
10 ser4cpp::HexConversions::to_hex_char(char) [function] [call site] 00186
10 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00187
10 ser4cpp::RSeq<unsigned long>::skip(unsigned long) const [function] [call site] 00188
11 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00189
11 unsigned long ser4cpp::min<unsigned long>(unsigned long, unsigned long) [function] [call site] 00190
11 ser4cpp::HasLength<unsigned long>::length() const [function] [call site] 00191
11 ser4cpp::RSeq<unsigned long>::RSeq(unsigned char const*, unsigned long) [function] [call site] 00192
8 opendnp3::Logger::is_enabled(opendnp3::LogLevel const&) const [function] [call site] 00193
8 opendnp3::Logger::log(opendnp3::LogLevel const&, char const*, char const*) [function] [call site] 00194
7 opendnp3::LinkLayerParser::TransferUserData() [function] [call site] 00195
8 opendnp3::LinkHeader::GetLength() const [function] [call site] 00196
8 opendnp3::ShiftableBuffer::ReadBuffer() const [function] [call site] 00197
8 ser4cpp::RSeq<unsigned long>::operator unsigned char const*() const [function] [call site] 00198
8 opendnp3::LinkFrame::ReadUserData(unsigned char const*, unsigned char*, unsigned long) [function] [call site] 00199
8 ser4cpp::RSeq<unsigned long>::RSeq(unsigned char const*, unsigned long) [function] [call site] 00200
7 opendnp3::LinkLayerParser::FailFrame() [function] [call site] 00201
4 opendnp3::LinkLayerParser::PushFrame(opendnp3::IFrameSink&) [function] [call site] 00202
5 opendnp3::LinkHeader::GetFuncEnum() const [function] [call site] 00203
5 opendnp3::LinkHeader::IsFromMaster() const [function] [call site] 00204
5 opendnp3::LinkHeader::IsFcbSet() const [function] [call site] 00205
5 opendnp3::LinkHeader::IsFcvDfcSet() const [function] [call site] 00206
5 opendnp3::LinkHeader::GetSrc() const [function] [call site] 00207
5 opendnp3::LinkHeader::GetDest() const [function] [call site] 00208
5 opendnp3::Addresses::Addresses(unsigned short, unsigned short) [function] [call site] 00209
5 opendnp3::LinkHeaderFields::LinkHeaderFields(opendnp3::LinkFunction, bool, bool, bool, opendnp3::Addresses) [function] [call site] 00210
5 opendnp3::ShiftableBuffer::AdvanceRead(unsigned long) [function] [call site] 00211
4 opendnp3::ShiftableBuffer::Shift() [function] [call site] 00212
5 opendnp3::ShiftableBuffer::NumBytesRead() const [function] [call site] 00213
3 ser4cpp::RSeq<unsigned long>::advance(unsigned long) [function] [call site] 00214
3 opendnp3::Indent::~Indent() [function] [call site] 00215
4 opendnp3::Uncopyable::~Uncopyable() [function] [call site] 00216
4 __clang_call_terminate [call site] 00217
5 __cxa_begin_catch [call site] 00218
1 opendnp3::Decoder::~Decoder() [function] [call site] 00219
2 opendnp3::DecoderImpl::~DecoderImpl() [function] [call site] 00220
3 opendnp3::TransportRx::~TransportRx() [function] [call site] 00221
4 ser4cpp::Buffer::~Buffer() [function] [call site] 00222
4 opendnp3::Logger::~Logger() [function] [call site] 00223
3 opendnp3::LinkLayerParser::~LinkLayerParser() [function] [call site] 00224
3 opendnp3::IFrameSink::~IFrameSink() [function] [call site] 00225
1 opendnp3::IDecoderCallbacks::~IDecoderCallbacks() [function] [call site] 00226
2 opendnp3::Uncopyable::~Uncopyable() [function] [call site] 00227