Fuzz introspector: valid_packet_reader_fuzzer
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
7 88 pw::string::FormatVaList(pw::span , char const*, __va_list_tag*) call site: {node_id}
5 63 pw::StringBuilder::ResizeAndTerminate(unsigned long) call site: {node_id}
5 108 pw::StringBuilder::view() const call site: {node_id} _ZN3fit6resultIN2bt2sm9ErrorCodeEJNS2_17ValidPacketReaderEEEC2IS3_TnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS7_16is_constructibleIS3_JT_EEEEEbE4typeELb1EEENS_5errorISA_EE
3 17 bt::sm::ValidPacketReader::ParseSdu(std::__1::unique_ptr > const&) call site: {node_id} pw_Log
3 80 pw::string::FormatVaList(pw::span , char const*, __va_list_tag*) call site: {node_id}
2 2 bt::sm::fuzz(unsigned char const*, unsigned long) call site: {node_id}
2 30 pw::StringBuilder::StatusCode(pw::Status) call site: {node_id}
2 175 bt::sm::ValidPacketReader::ParseSdu(std::__1::unique_ptr > const&) call site: {node_id}
1 9 bt::DynamicByteBuffer::DynamicByteBuffer(unsigned long) call site: {node_id}
1 26 pw::StringBuffer<150ul>::StringBuffer() call site: {node_id}
1 28 pw::OkStatus() call site: {node_id}
1 101 pw::StringBuilder::HandleStatusWithSize(pw::StatusWithSize) call site: {node_id}

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 bt::sm::fuzz(unsigned char const*, unsigned long) [function] [call site] 00001
2 bt::DynamicByteBuffer::DynamicByteBuffer(unsigned long) [function] [call site] 00002
3 bt::MutableByteBuffer::MutableByteBuffer() [function] [call site] 00003
4 bt::ByteBuffer::ByteBuffer() [function] [call site] 00004
3 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00005
3 fflush [call site] 00006
3 fprintf [call site] 00007
3 abort [call site] 00008
3 bt::MutableByteBuffer::~MutableByteBuffer() [function] [call site] 00009
4 bt::ByteBuffer::~ByteBuffer() [function] [call site] 00010
2 bt::DynamicByteBuffer::size() const [function] [call site] 00011
2 bt::DynamicByteBuffer::mutable_data() [function] [call site] 00012
2 bt::sm::ValidPacketReader::ParseSdu(std::__1::unique_ptr<bt::ByteBuffer, std::__1::default_delete<bt::ByteBuffer> > const&) [function] [call site] 00013
3 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00014
3 fflush [call site] 00015
3 fprintf [call site] 00016
3 abort [call site] 00017
3 bt::GetPwLogFlags(bt::LogSeverity) [function] [call site] 00018
4 bt::IsPrintfLogLevelEnabled(bt::LogSeverity) [function] [call site] 00019
3 pw_Log [function] [call site] 00020
4 pw_Log_HandleMessageVaList [function] [call site] 00021
5 pw::StringBuffer<150ul>::StringBuffer() [function] [call site] 00022
6 pw::span<char, 18446744073709551615ul>::span<150ul, void>(char (&) [150ul]) [function] [call site] 00023
7 pw::span<char, 18446744073709551615ul>::span(char*, unsigned long) [function] [call site] 00024
8 pw::pw_span_internal::ExtentStorage<18446744073709551615ul>::ExtentStorage(unsigned long) [function] [call site] 00025
6 pw::StringBuilder::StringBuilder(pw::span<char, 18446744073709551615ul>) [function] [call site] 00026
7 pw::OkStatus() [function] [call site] 00027
8 pw::Status::Status(pw_Status) [function] [call site] 00028
7 pw::StringBuilder::StatusCode(pw::Status) [function] [call site] 00029
8 pw::Status::code() const [function] [call site] 00030
7 pw::OkStatus() [function] [call site] 00031
7 pw::StringBuilder::StatusCode(pw::Status) [function] [call site] 00032
7 pw::StringBuilder::NullTerminate() [function] [call site] 00033
8 pw::span<char, 18446744073709551615ul>::empty() const [function] [call site] 00034
9 pw::span<char, 18446744073709551615ul>::size() const [function] [call site] 00035
10 pw::pw_span_internal::ExtentStorage<18446744073709551615ul>::size() const [function] [call site] 00036
8 pw::StringBuilder::size() const [function] [call site] 00037
8 pw::span<char, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00038
9 pw::span<char, 18446744073709551615ul>::data() const [function] [call site] 00039
5 pw::log_basic::(anonymous namespace)::LogLevelToLogLevelName(int) [function] [call site] 00040
5 pw::StringBuffer<150ul>& pw::StringBuffer<150ul>::operator<< <char const*>(char const*&&) [function] [call site] 00041
6 pw::StringBuilder& pw::StringBuilder::operator<< <char const*>(char const* const&) [function] [call site] 00042
7 pw::StringBuilder::append(char const*) [function] [call site] 00043
8 pw::span<char, 18446744073709551615ul>::size() const [function] [call site] 00044
8 pw::StringBuilder::size() const [function] [call site] 00045
8 pw::string::ClampedCString(char const*, unsigned long) [function] [call site] 00046
9 pw::span<char const, 18446744073709551615ul>::span(char const*, unsigned long) [function] [call site] 00047
9 pw::string::ClampedCString(pw::span<char const, 18446744073709551615ul>) [function] [call site] 00048
10 pw::span<char const, 18446744073709551615ul>::data() const [function] [call site] 00049
10 pw::span<char const, 18446744073709551615ul>::data() const [function] [call site] 00050
10 pw::span<char const, 18446744073709551615ul>::size() const [function] [call site] 00051
10 pw::string::internal::ClampedLength(char const*, unsigned long) [function] [call site] 00052
8 pw::StringBuilder::append(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00053
9 pw::StringBuilder::append(char const*, unsigned long) [function] [call site] 00054
10 pw::span<char, 18446744073709551615ul>::data() const [function] [call site] 00055
10 pw::StringBuilder::size() const [function] [call site] 00056
10 pw::StringBuilder::ResizeAndTerminate(unsigned long) [function] [call site] 00057
11 pw::StringBuilder::max_size() const [function] [call site] 00058
12 pw::span<char, 18446744073709551615ul>::empty() const [function] [call site] 00059
12 pw::span<char, 18446744073709551615ul>::size() const [function] [call site] 00060
11 pw::StringBuilder::size() const [function] [call site] 00061
11 pw::StringBuilder::NullTerminate() [function] [call site] 00062
11 pw::span<char, 18446744073709551615ul>::empty() const [function] [call site] 00063
11 pw::Status::ResourceExhausted() [function] [call site] 00064
12 pw::Status::Status(pw_Status) [function] [call site] 00065
11 pw::StringBuilder::SetErrorStatus(pw::Status) [function] [call site] 00066
12 pw::StringBuilder::StatusCode(pw::Status) [function] [call site] 00067
12 pw::StringBuilder::StatusCode(pw::Status) [function] [call site] 00068
11 pw::OkStatus() [function] [call site] 00069
11 pw::StringBuilder::StatusCode(pw::Status) [function] [call site] 00070
5 pw::StringBuffer<150ul>& pw::StringBuffer<150ul>::operator<< <char const (&) [3]>(char const (&) [3]) [function] [call site] 00071
6 pw::StringBuilder& pw::StringBuilder::operator<< <char [3]>(char const (&) [3]) [function] [call site] 00072
5 pw::StringBuilder::FormatVaList(char const*, __va_list_tag*) [function] [call site] 00073
6 pw::StringBuilder::size() const [function] [call site] 00074
6 pw::span<char, 18446744073709551615ul>::subspan(unsigned long, unsigned long) const [function] [call site] 00075
7 pw::span<char, 18446744073709551615ul>::data() const [function] [call site] 00076
7 pw::span<char, 18446744073709551615ul>::size() const [function] [call site] 00077
7 pw::span<char, 18446744073709551615ul>::span(char*, unsigned long) [function] [call site] 00078
6 pw::string::FormatVaList(pw::span<char, 18446744073709551615ul>, char const*, __va_list_tag*) [function] [call site] 00079
7 pw::span<char, 18446744073709551615ul>::empty() const [function] [call site] 00080
7 pw::StatusWithSize::ResourceExhausted(unsigned long) [function] [call site] 00081
8 pw::Status::ResourceExhausted() [function] [call site] 00082
8 pw::StatusWithSize::StatusWithSize(pw::Status, unsigned long) [function] [call site] 00083
9 pw::Status::code() const [function] [call site] 00084
9 pw::StatusWithSize::StatusWithSize<unsigned long, void>(unsigned long) [function] [call site] 00085
7 pw::span<char, 18446744073709551615ul>::data() const [function] [call site] 00086
7 pw::span<char, 18446744073709551615ul>::size() const [function] [call site] 00087
7 vsnprintf [call site] 00088
7 pw::span<char, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00089
7 pw::StatusWithSize::InvalidArgument(unsigned long) [function] [call site] 00090
8 pw::Status::InvalidArgument() [function] [call site] 00091
9 pw::Status::Status(pw_Status) [function] [call site] 00092
8 pw::StatusWithSize::StatusWithSize(pw::Status, unsigned long) [function] [call site] 00093
7 pw::span<char, 18446744073709551615ul>::size() const [function] [call site] 00094
7 pw::StatusWithSize::ResourceExhausted(unsigned long) [function] [call site] 00095
7 pw::StatusWithSize::StatusWithSize<int, void>(int) [function] [call site] 00096
6 pw::StringBuilder::HandleStatusWithSize(pw::StatusWithSize) [function] [call site] 00097
7 pw::StatusWithSize::status() const [function] [call site] 00098
8 pw::Status::Status(pw_Status) [function] [call site] 00099
7 pw::StringBuilder::StatusCode(pw::Status) [function] [call site] 00100
7 pw::Status::ok() const [function] [call site] 00101
7 pw::StringBuilder::StatusCode(pw::Status) [function] [call site] 00102
7 pw::StatusWithSize::size() const [function] [call site] 00103
5 pw::StringBuilder::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const [function] [call site] 00104
6 pw::StringBuilder::view() const [function] [call site] 00105
7 pw::StringBuilder::data() const [function] [call site] 00106
8 pw::span<char, 18446744073709551615ul>::data() const [function] [call site] 00107
7 pw::StringBuilder::size() const [function] [call site] 00108
3 bt::internal::CheckFormat(char const*, ...) [function] [call site] 00109
3 _ZN3fit5errorIN2bt2sm9ErrorCodeEEC2IJS3_ETnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS6_16is_constructibleIS3_JDpT_EEEEEbE4typeELb1EEEDpOS9_ [function] [call site] 00110
3 _ZN3fit6resultIN2bt2sm9ErrorCodeEJNS2_17ValidPacketReaderEEEC2IS3_TnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS7_16is_constructibleIS3_JT_EEEEEbE4typeELb1EEENS_5errorISA_EE [function] [call site] 00111
4 fit::internal::storage_type<(fit::internal::storage_class_e)0, bt::sm::ErrorCode, bt::sm::ValidPacketReader>::storage_type<bt::sm::ErrorCode>(fit::internal::error_t, bt::sm::ErrorCode&&) [function] [call site] 00112
5 fit::internal::error_or_value_type<bt::sm::ErrorCode, bt::sm::ValidPacketReader, (fit::internal::storage_class_e)0>::error_or_value_type<bt::sm::ErrorCode>(fit::internal::error_t, bt::sm::ErrorCode&&) [function] [call site] 00113
3 bt::sm::PacketReader::PacketReader(bt::ByteBuffer const*) [function] [call site] 00114
4 bt::PacketView<bt::sm::Header>::PacketView(bt::ByteBuffer const*, unsigned long) [function] [call site] 00115
5 bt::PacketViewBase::PacketViewBase(unsigned long, bt::ByteBuffer const*, unsigned long) [function] [call site] 00116
6 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00117
6 fflush [call site] 00118
6 fprintf [call site] 00119
6 abort [call site] 00120
6 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00121
6 fflush [call site] 00122
6 fprintf [call site] 00123
6 abort [call site] 00124
3 bt::sm::PacketReader::code() const [function] [call site] 00125
4 bt::PacketView<bt::sm::Header>::header() const [function] [call site] 00126
5 bt::PacketViewBase::buffer() const [function] [call site] 00127
5 auto bt::ByteBuffer::To<bt::sm::Header>() const [function] [call site] 00128
6 bt::ByteBuffer::CopyRaw(void*, unsigned long, unsigned long, unsigned long) const [function] [call site] 00129
7 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00130
7 fflush [call site] 00131
7 fprintf [call site] 00132
7 abort [call site] 00133
7 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00134
7 fflush [call site] 00135
7 fprintf [call site] 00136
7 abort [call site] 00137
7 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00138
7 fflush [call site] 00139
7 fprintf [call site] 00140
7 abort [call site] 00141
7 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00142
7 fflush [call site] 00143
7 fprintf [call site] 00144
7 abort [call site] 00145
7 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00146
7 fflush [call site] 00147
7 fprintf [call site] 00148
7 abort [call site] 00149
3 bt::GetPwLogFlags(bt::LogSeverity) [function] [call site] 00150
3 bt::sm::PacketReader::code() const [function] [call site] 00151
3 bt::internal::CheckFormat(char const*, ...) [function] [call site] 00153
3 _ZN3fit5errorIN2bt2sm9ErrorCodeEEC2IJS3_ETnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS6_16is_constructibleIS3_JDpT_EEEEEbE4typeELb1EEEDpOS9_ [function] [call site] 00154
3 _ZN3fit6resultIN2bt2sm9ErrorCodeEJNS2_17ValidPacketReaderEEEC2IS3_TnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS7_16is_constructibleIS3_JT_EEEEEbE4typeELb1EEENS_5errorISA_EE [function] [call site] 00155
3 bt::PacketViewBase::payload_size() const [function] [call site] 00156
4 bt::PacketViewBase::size() const [function] [call site] 00157
4 bt::PacketViewBase::header_size() const [function] [call site] 00158
4 _pw_assert_ConditionCannotContainThePercentCharacter(char const*, ...) [function] [call site] 00159
4 fflush [call site] 00160
4 fprintf [call site] 00161
4 abort [call site] 00162
4 bt::PacketViewBase::size() const [function] [call site] 00163
4 bt::PacketViewBase::header_size() const [function] [call site] 00164
3 bt::GetPwLogFlags(bt::LogSeverity) [function] [call site] 00165
3 bt::sm::PacketReader::code() const [function] [call site] 00166
3 bt::internal::CheckFormat(char const*, ...) [function] [call site] 00168
3 _ZN3fit5errorIN2bt2sm9ErrorCodeEEC2IJS3_ETnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS6_16is_constructibleIS3_JDpT_EEEEEbE4typeELb1EEEDpOS9_ [function] [call site] 00169
3 _ZN3fit6resultIN2bt2sm9ErrorCodeEJNS2_17ValidPacketReaderEEEC2IS3_TnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS7_16is_constructibleIS3_JT_EEEEEbE4typeELb1EEENS_5errorISA_EE [function] [call site] 00170
3 bt::sm::ValidPacketReader::ValidPacketReader(bt::ByteBuffer const*) [function] [call site] 00171
4 bt::sm::PacketReader::PacketReader(bt::ByteBuffer const*) [function] [call site] 00172
3 fit::success<__decay, bt::sm::ValidPacketReader> fit::ok<bt::sm::ValidPacketReader>(__decay&&) [function] [call site] 00173
4 _ZN3fit7successIJN2bt2sm17ValidPacketReaderEEEC2IJS3_ETnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS6_16is_constructibleIS3_JDpT_EEEEEbE4typeELb1EEEDpOS9_ [function] [call site] 00174
3 _ZN3fit6resultIN2bt2sm9ErrorCodeEJNS2_17ValidPacketReaderEEEC2IS4_TnNSt3__19enable_ifIXsr5cpp17E13conjunction_vINS7_16is_constructibleIS4_JT_EEEEEbE4typeELb1EEENS_7successIJSA_EEE [function] [call site] 00175
4 fit::internal::storage_type<(fit::internal::storage_class_e)0, bt::sm::ErrorCode, bt::sm::ValidPacketReader>::storage_type<bt::sm::ValidPacketReader>(fit::internal::value_t, bt::sm::ValidPacketReader&&) [function] [call site] 00176
5 fit::internal::error_or_value_type<bt::sm::ErrorCode, bt::sm::ValidPacketReader, (fit::internal::storage_class_e)0>::error_or_value_type<bt::sm::ValidPacketReader>(fit::internal::value_t, bt::sm::ValidPacketReader&&) [function] [call site] 00177
2 bt::DynamicByteBuffer::~DynamicByteBuffer() [function] [call site] 00178
3 bt::MutableByteBuffer::~MutableByteBuffer() [function] [call site] 00179