Fuzz introspector: uart_transport_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
13 1 LLVMFuzzerTestOneInput call site: {node_id} __clang_call_terminate
3 56 pw::bluetooth_hci::DecodeHciUartData(pw::span , fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator > const&) call site: {node_id}
2 141 LLVMFuzzerTestOneInput call site: {node_id}
1 54 pw::bluetooth_hci::DecodeHciUartData(pw::span , fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator > const&) call site: {node_id}
1 81 pw::bluetooth_hci::DecodeHciUartData(pw::span , fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator > const&) call site: {node_id}
1 104 pw::bluetooth_hci::DecodeHciUartData(pw::span , fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator > const&) call site: {node_id}
1 126 pw::bluetooth_hci::DecodeHciUartData(pw::span , fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator > const&) call site: {node_id}

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 _ZN3fit13function_implILm8ELb0EFvRKN2pw13bluetooth_hci6PacketEENSt3__19allocatorISt4byteEEEC2IZ22LLVMFuzzerTestOneInputE3$_0TnNS7_9enable_ifIXsr5cpp17E13conjunction_vINS7_14is_convertibleIDTclclsr3stdE7declvalIRT_EEclL_ZNS7_7declvalB8ne180100IS5_EEDTclsr3stdE9__declvalISG_ELi0EEEvEEEEvEENS7_8negationINS7_7is_sameISB_u11__remove_cvIu20__remove_reference_tISG_EEEEEEEEbE4typeELb1EEEOSG_ [function] [call site] 00001
2 fit::internal::function_base<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::function_base<LLVMFuzzerTestOneInput::$_0, void>(LLVMFuzzerTestOneInput::$_0&&) [function] [call site] 00002
3 fit::internal::generic_function_base<8ul>::generic_function_base() [function] [call site] 00003
3 void fit::internal::function_base<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::initialize_target<LLVMFuzzerTestOneInput::$_0>(LLVMFuzzerTestOneInput::$_0&&) [function] [call site] 00004
4 _ZN3fit7is_nullIRZ22LLVMFuzzerTestOneInputE3$_0TnNSt3__19enable_ifIXsr23is_comparable_with_nullIT_EE5valueEbE4typeELb1EEEbOS5_ [function] [call site] 00005
5 LLVMFuzzerTestOneInput::$_0::operator void (*)(pw::bluetooth_hci::Packet const&)() const [function] [call site] 00006
4 fit::internal::generic_function_base<8ul>::initialize_null_target() [function] [call site] 00007
4 fit::internal::generic_function_base<8ul>::set_ops(fit::internal::base_target_ops const*) [function] [call site] 00008
4 fit::internal::generic_function_base<8ul>::bits() const [function] [call site] 00009
4 void fit::internal::target<LLVMFuzzerTestOneInput::$_0, true, false, std::__1::allocator<std::byte>, void, pw::bluetooth_hci::Packet const&>::initialize<LLVMFuzzerTestOneInput::$_0>(void*, LLVMFuzzerTestOneInput::$_0&&) [function] [call site] 00010
3 fit::internal::generic_function_base<8ul>::~generic_function_base() [function] [call site] 00011
4 fit::internal::generic_function_base<8ul>::destroy_target() [function] [call site] 00012
4 __clang_call_terminate [call site] 00013
5 __cxa_begin_catch [call site] 00014
1 pw::span<unsigned char const, 18446744073709551615ul>::span(unsigned char const*, unsigned long) [function] [call site] 00015
2 pw::pw_span_internal::ExtentStorage<18446744073709551615ul>::ExtentStorage(unsigned long) [function] [call site] 00016
1 pw::span<std::byte const, ((18446744073709551615ul)==pw::dynamic_extent)?pw::dynamic_extent : ((sizeof (unsigned char const))*(18446744073709551615ul))> pw::as_bytes<unsigned char const, 18446744073709551615ul>(pw::span<unsigned char const, 18446744073709551615ul>) [function] [call site] 00017
2 pw::span<unsigned char const, 18446744073709551615ul>::data() const [function] [call site] 00018
2 pw::span<unsigned char const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00019
3 pw::span<unsigned char const, 18446744073709551615ul>::size() const [function] [call site] 00020
4 pw::pw_span_internal::ExtentStorage<18446744073709551615ul>::size() const [function] [call site] 00021
2 pw::span<std::byte const, 18446744073709551615ul>::span(std::byte const*, unsigned long) [function] [call site] 00022
1 pw::bluetooth_hci::DecodeHciUartData(pw::span<std::byte const, 18446744073709551615ul>, fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> > const&) [function] [call site] 00023
2 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00024
3 pw::span<std::byte const, 18446744073709551615ul>::size() const [function] [call site] 00025
2 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00026
3 pw::span<std::byte const, 18446744073709551615ul>::data() const [function] [call site] 00027
2 pw::span<std::byte const, 18446744073709551615ul>::subspan(unsigned long, unsigned long) const [function] [call site] 00028
3 pw::span<std::byte const, 18446744073709551615ul>::data() const [function] [call site] 00029
3 pw::span<std::byte const, 18446744073709551615ul>::size() const [function] [call site] 00030
3 pw::span<std::byte const, 18446744073709551615ul>::span(std::byte const*, unsigned long) [function] [call site] 00031
2 pw::bluetooth_hci::CommandPacket::Decode(pw::span<std::byte const, 18446744073709551615ul>, cpp20::endian) [function] [call site] 00032
3 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00033
3 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00034
3 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00035
3 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00036
3 unsigned short pw::bytes::ReadInOrder<unsigned short>(cpp20::endian, void const*) [function] [call site] 00037
4 unsigned short pw::bytes::ConvertOrderFrom<unsigned short>(cpp20::endian, unsigned short) [function] [call site] 00038
5 unsigned short pw::bytes::ConvertOrder<unsigned short>(cpp20::endian, cpp20::endian, unsigned short) [function] [call site] 00039
6 unsigned short pw::bytes::internal::ReverseBytes<unsigned short>(unsigned short) [function] [call site] 00040
3 pw::span<std::byte const, 18446744073709551615ul>::subspan(unsigned long, unsigned long) const [function] [call site] 00041
3 pw::bluetooth_hci::CommandPacket::CommandPacket(unsigned short, pw::span<std::byte const, 18446744073709551615ul>) [function] [call site] 00042
4 pw::span<std::byte const, 18446744073709551615ul>::data() const [function] [call site] 00043
4 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00044
4 pw::bluetooth_hci::CommandPacket::CommandPacket(unsigned short, std::byte const*, unsigned char) [function] [call site] 00045
5 pw::bluetooth_hci::Packet::Packet(pw::bluetooth_hci::Packet::Type, unsigned long) [function] [call site] 00046
5 pw::span<std::byte const, 18446744073709551615ul>::span(std::byte const*, unsigned long) [function] [call site] 00047
4 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00048
4 PW_ASSERT_failed_in_constant_expression_() [function] [call site] 00049
4 fflush [call site] 00050
4 fprintf [call site] 00051
4 abort [call site] 00052
2 pw::StatusWithSize::StatusWithSize<unsigned long, void>(unsigned long) [function] [call site] 00053
2 std::__1::optional<pw::bluetooth_hci::CommandPacket>::value[abi:ne180100]() const & [function] [call site] 00054
3 std::__1::__optional_storage_base<pw::bluetooth_hci::CommandPacket, false>::__get[abi:ne180100]() const & [function] [call site] 00055
2 fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::operator()(pw::bluetooth_hci::Packet const&) const [function] [call site] 00056
3 fit::internal::function_base<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::invoke(pw::bluetooth_hci::Packet const&) const [function] [call site] 00057
4 fit::internal::generic_function_base<8ul>::ops() const [function] [call site] 00058
4 fit::internal::generic_function_base<8ul>::bits() const [function] [call site] 00059
2 pw::bluetooth_hci::Packet::size_bytes() const [function] [call site] 00060
2 pw::bluetooth_hci::AsyncDataPacket::Decode(pw::span<std::byte const, 18446744073709551615ul>, cpp20::endian) [function] [call site] 00061
3 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00062
3 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00063
3 unsigned short pw::bytes::ReadInOrder<unsigned short>(cpp20::endian, void const*) [function] [call site] 00064
3 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00065
3 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00066
3 unsigned short pw::bytes::ReadInOrder<unsigned short>(cpp20::endian, void const*) [function] [call site] 00067
3 pw::span<std::byte const, 18446744073709551615ul>::subspan(unsigned long, unsigned long) const [function] [call site] 00068
3 pw::bluetooth_hci::AsyncDataPacket::AsyncDataPacket(unsigned short, pw::span<std::byte const, 18446744073709551615ul>) [function] [call site] 00069
4 pw::span<std::byte const, 18446744073709551615ul>::data() const [function] [call site] 00070
4 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00071
4 pw::bluetooth_hci::AsyncDataPacket::AsyncDataPacket(unsigned short, std::byte const*, unsigned short) [function] [call site] 00072
5 pw::bluetooth_hci::Packet::Packet(pw::bluetooth_hci::Packet::Type, unsigned long) [function] [call site] 00073
5 pw::span<std::byte const, 18446744073709551615ul>::span(std::byte const*, unsigned long) [function] [call site] 00074
4 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00075
4 PW_ASSERT_failed_in_constant_expression_() [function] [call site] 00076
4 fflush [call site] 00077
4 fprintf [call site] 00078
4 abort [call site] 00079
2 pw::StatusWithSize::StatusWithSize<unsigned long, void>(unsigned long) [function] [call site] 00080
2 std::__1::optional<pw::bluetooth_hci::AsyncDataPacket>::value[abi:ne180100]() const & [function] [call site] 00081
3 std::__1::__optional_storage_base<pw::bluetooth_hci::AsyncDataPacket, false>::__get[abi:ne180100]() const & [function] [call site] 00082
2 fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::operator()(pw::bluetooth_hci::Packet const&) const [function] [call site] 00083
2 pw::bluetooth_hci::Packet::size_bytes() const [function] [call site] 00084
2 pw::bluetooth_hci::SyncDataPacket::Decode(pw::span<std::byte const, 18446744073709551615ul>, cpp20::endian) [function] [call site] 00085
3 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00086
3 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00087
3 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00088
3 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00089
3 unsigned short pw::bytes::ReadInOrder<unsigned short>(cpp20::endian, void const*) [function] [call site] 00090
3 pw::span<std::byte const, 18446744073709551615ul>::subspan(unsigned long, unsigned long) const [function] [call site] 00091
3 pw::bluetooth_hci::SyncDataPacket::SyncDataPacket(unsigned short, pw::span<std::byte const, 18446744073709551615ul>) [function] [call site] 00092
4 pw::span<std::byte const, 18446744073709551615ul>::data() const [function] [call site] 00093
4 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00094
4 pw::bluetooth_hci::SyncDataPacket::SyncDataPacket(unsigned short, std::byte const*, unsigned char) [function] [call site] 00095
5 pw::bluetooth_hci::Packet::Packet(pw::bluetooth_hci::Packet::Type, unsigned long) [function] [call site] 00096
5 pw::span<std::byte const, 18446744073709551615ul>::span(std::byte const*, unsigned long) [function] [call site] 00097
4 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00098
4 PW_ASSERT_failed_in_constant_expression_() [function] [call site] 00099
4 fflush [call site] 00100
4 fprintf [call site] 00101
4 abort [call site] 00102
2 pw::StatusWithSize::StatusWithSize<unsigned long, void>(unsigned long) [function] [call site] 00103
2 std::__1::optional<pw::bluetooth_hci::SyncDataPacket>::value[abi:ne180100]() const & [function] [call site] 00104
3 std::__1::__optional_storage_base<pw::bluetooth_hci::SyncDataPacket, false>::__get[abi:ne180100]() const & [function] [call site] 00105
2 fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::operator()(pw::bluetooth_hci::Packet const&) const [function] [call site] 00106
2 pw::bluetooth_hci::Packet::size_bytes() const [function] [call site] 00107
2 pw::bluetooth_hci::EventPacket::Decode(pw::span<std::byte const, 18446744073709551615ul>) [function] [call site] 00108
3 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00109
3 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00110
3 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00111
3 pw::span<std::byte const, 18446744073709551615ul>::operator[](unsigned long) const [function] [call site] 00112
3 pw::span<std::byte const, 18446744073709551615ul>::subspan(unsigned long, unsigned long) const [function] [call site] 00113
3 pw::bluetooth_hci::EventPacket::EventPacket(unsigned short, pw::span<std::byte const, 18446744073709551615ul>) [function] [call site] 00114
4 pw::span<std::byte const, 18446744073709551615ul>::data() const [function] [call site] 00115
4 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00116
4 pw::bluetooth_hci::EventPacket::EventPacket(unsigned char, std::byte const*, unsigned char) [function] [call site] 00117
5 pw::bluetooth_hci::Packet::Packet(pw::bluetooth_hci::Packet::Type, unsigned long) [function] [call site] 00118
5 pw::span<std::byte const, 18446744073709551615ul>::span(std::byte const*, unsigned long) [function] [call site] 00119
4 pw::span<std::byte const, 18446744073709551615ul>::size_bytes() const [function] [call site] 00120
4 PW_ASSERT_failed_in_constant_expression_() [function] [call site] 00121
4 fflush [call site] 00122
4 fprintf [call site] 00123
4 abort [call site] 00124
2 pw::StatusWithSize::StatusWithSize<unsigned long, void>(unsigned long) [function] [call site] 00125
2 std::__1::optional<pw::bluetooth_hci::EventPacket>::value[abi:ne180100]() const & [function] [call site] 00126
3 std::__1::__optional_storage_base<pw::bluetooth_hci::EventPacket, false>::__get[abi:ne180100]() const & [function] [call site] 00127
2 fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::operator()(pw::bluetooth_hci::Packet const&) const [function] [call site] 00128
2 pw::bluetooth_hci::Packet::size_bytes() const [function] [call site] 00129
2 pw::StatusWithSize::DataLoss(unsigned long) [function] [call site] 00130
3 pw::Status::DataLoss() [function] [call site] 00131
4 pw::Status::Status(pw_Status) [function] [call site] 00132
3 pw::StatusWithSize::StatusWithSize(pw::Status, unsigned long) [function] [call site] 00133
4 pw::Status::code() const [function] [call site] 00134
4 pw::StatusWithSize::StatusWithSize<unsigned long, void>(unsigned long) [function] [call site] 00135
2 pw::span<std::byte const, 18446744073709551615ul>::subspan(unsigned long, unsigned long) const [function] [call site] 00136
2 pw::StatusWithSize::StatusWithSize<unsigned long, void>(unsigned long) [function] [call site] 00137
1 pw::StatusWithSize::status() const [function] [call site] 00138
2 pw::Status::Status(pw_Status) [function] [call site] 00139
1 pw::Status::IgnoreError() const [function] [call site] 00140
1 fit::function_impl<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::~function_impl() [function] [call site] 00141
2 fit::internal::function_base<8ul, false, void (pw::bluetooth_hci::Packet const&), std::__1::allocator<std::byte> >::~function_base() [function] [call site] 00142
3 fit::internal::generic_function_base<8ul>::~generic_function_base() [function] [call site] 00143