Fuzz introspector: pldm_package_parser_fuzzer.cc
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
249 0 EP call site: 00000 pldm::fw_update::PackageParser::parse

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 pldm::fw_update::parsePkgHeader [function] [call site] 00001
2 decode_pldm_package_header_info [function] [call site] 00002
3 DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H [function] [call site] 00003
3 decode_pldm_package_header_info_errno [function] [call site] 00004
4 LIBPLDM_SIZEAT [function] [call site] 00005
4 LIBPLDM_SIZEAT [function] [call site] 00006
4 LIBPLDM_SIZEAT [function] [call site] 00007
4 LIBPLDM_SIZEAT [function] [call site] 00008
4 LIBPLDM_SIZEAT [function] [call site] 00009
4 LIBPLDM_SIZEAT [function] [call site] 00010
4 LIBPLDM_SIZEAT [function] [call site] 00011
4 LIBPLDM_SIZEAT [function] [call site] 00012
4 LIBPLDM_SIZEAT [function] [call site] 00013
4 LIBPLDM_SIZEAT [function] [call site] 00014
4 LIBPLDM_SIZEAT [function] [call site] 00015
4 LIBPLDM_SIZEAT [function] [call site] 00016
4 LIBPLDM_SIZEAT [function] [call site] 00017
4 LIBPLDM_SIZEAT [function] [call site] 00018
4 LIBPLDM_SIZEAT [function] [call site] 00019
4 LIBPLDM_SIZEAT [function] [call site] 00020
4 LIBPLDM_SIZEAT [function] [call site] 00021
4 LIBPLDM_SIZEAT [function] [call site] 00022
4 LIBPLDM_SIZEAT [function] [call site] 00023
4 LIBPLDM_SIZEAT [function] [call site] 00024
4 LIBPLDM_SIZEAT [function] [call site] 00025
4 LIBPLDM_SIZEAT [function] [call site] 00026
4 LIBPLDM_SIZEAT [function] [call site] 00027
4 PLDM_MSGBUF_RO_DEFINE_P [function] [call site] 00028
4 ARRAY_SIZE [function] [call site] 00029
4 pldm_msgbuf_init_errno [function] [call site] 00031
5 pldm_msgbuf_ro_init_errno [function] [call site] 00032
6 pldm__msgbuf_init_errno [function] [call site] 00033
7 pldm__msgbuf_set_invalid [function] [call site] 00034
7 pldm__msgbuf_set_invalid [function] [call site] 00035
7 pldm__msgbuf_set_invalid [function] [call site] 00036
4 pldm_msgbuf_extract_array [function] [call site] 00037
4 pldm_msgbuf_discard [function] [call site] 00038
5 pldm_msgbuf_ro_discard [function] [call site] 00039
6 pldm__msgbuf_discard [function] [call site] 00040
4 pldm_msgbuf_discard [function] [call site] 00045
4 pldm_msgbuf_extract [function] [call site] 00046
4 pldm_msgbuf_discard [function] [call site] 00047
4 pldm_msgbuf_discard [function] [call site] 00048
4 pldm_msgbuf_discard [function] [call site] 00049
4 pldm_msgbuf_extract [function] [call site] 00050
4 pldm_msgbuf_discard [function] [call site] 00051
4 pldm_msgbuf_extract_array [function] [call site] 00052
4 pldm_msgbuf_discard [function] [call site] 00053
4 pldm_msgbuf_extract [function] [call site] 00054
4 pldm_msgbuf_discard [function] [call site] 00055
4 pldm_msgbuf_discard [function] [call site] 00056
4 pldm_msgbuf_extract [function] [call site] 00057
4 pldm_msgbuf_discard [function] [call site] 00058
4 is_string_type_valid [function] [call site] 00059
4 pldm_msgbuf_discard [function] [call site] 00060
4 pldm_msgbuf_extract_uint8_to_size [function] [call site] 00061
4 pldm_msgbuf_discard [function] [call site] 00062
4 pldm_msgbuf_span_required [function] [call site] 00063
5 pldm_msgbuf_ro_span_required [function] [call site] 00064
6 pldm__msgbuf_span_required [function] [call site] 00065
7 pldm__msgbuf_set_invalid [function] [call site] 00066
7 pldm__msgbuf_set_invalid [function] [call site] 00068
4 pldm_msgbuf_discard [function] [call site] 00069
4 pldm_msgbuf_discard [function] [call site] 00070
4 pldm_msgbuf_span_required [function] [call site] 00071
4 pldm_msgbuf_discard [function] [call site] 00072
4 pldm_msgbuf_extract [function] [call site] 00073
4 pldm_msgbuf_extract [function] [call site] 00074
4 pldm_msgbuf_span_remaining [function] [call site] 00075
5 pldm_msgbuf_rw_span_remaining [function] [call site] 00076
6 pldm__msgbuf_span_remaining [function] [call site] 00077
4 pldm_msgbuf_discard [function] [call site] 00079
4 pldm_msgbuf_complete [function] [call site] 00080
5 pldm_msgbuf_ro_complete [function] [call site] 00081
6 pldm_msgbuf_ro_discard [function] [call site] 00082
6 pldm_msgbuf_ro_validate [function] [call site] 00083
7 pldm__msgbuf_validate [function] [call site] 00084
4 pldm_edac_crc32_validate [function] [call site] 00085
4 pldm_edac_crc32 [function] [call site] 00087
4 pldm_edac_crc32_validate [function] [call site] 00088
4 pldm_edac_crc32 [function] [call site] 00090
2 std::equal [function] [call site] 00102
2 std::array::begin [function] [call site] 00103
2 std::array::end [function] [call site] 00104
2 std::make_unique<PackageParser> [function] [call site] 00105
2 pldm::utils::toString [function] [call site] 00106
3 reinterpret_cast<const [call site] 00107
3 std::replace_if [function] [call site] 00108
3 std::string::begin [function] [call site] 00109
3 std::string::end [function] [call site] 00110
3 std::isprint [function] [call site] 00111
1 pldm::fw_update::PackageParser::parse [function] [call site] 00112
2 InternalFailure [function] [call site] 00116
2 InternalFailure [function] [call site] 00119
2 static_cast<DeviceIDRecordCount> [function] [call site] 00120
2 pldm::fw_update::PackageParser::parseFDIdentificationArea [function] [call site] 00121
3 decode_firmware_device_id_record [function] [call site] 00123
4 decode_pldm_package_firmware_device_id_record_errno [function] [call site] 00124
5 PLDM_MSGBUF_RO_DEFINE_P [function] [call site] 00125
5 pldm_msgbuf_init_dynamic_uint16 [function] [call site] 00126
6 pldm_msgbuf_init_errno [function] [call site] 00127
6 pldm_msgbuf_extract_uint16_to_size [function] [call site] 00128
6 pldm_msgbuf_discard [function] [call site] 00129
6 pldm_msgbuf_complete [function] [call site] 00130
6 pldm_msgbuf_init_errno [function] [call site] 00131
6 pldm_msgbuf_span_required [function] [call site] 00132
6 pldm_msgbuf_discard [function] [call site] 00133
6 pldm_msgbuf_span_remaining [function] [call site] 00134
6 pldm_msgbuf_discard [function] [call site] 00135
6 pldm_msgbuf_complete [function] [call site] 00136
6 pldm_msgbuf_init_errno [function] [call site] 00137
5 pldm_msgbuf_extract [function] [call site] 00138
5 pldm_msgbuf_extract [function] [call site] 00139
5 pldm_msgbuf_extract [function] [call site] 00140
5 pldm_msgbuf_extract [function] [call site] 00141
5 pldm_msgbuf_discard [function] [call site] 00142
5 is_string_type_valid [function] [call site] 00143
5 pldm_msgbuf_discard [function] [call site] 00144
5 pldm_msgbuf_extract_uint8_to_size [function] [call site] 00145
5 pldm_msgbuf_discard [function] [call site] 00146
5 pldm_msgbuf_discard [function] [call site] 00147
5 pldm_msgbuf_extract_uint16_to_size [function] [call site] 00148
5 pldm_msgbuf_discard [function] [call site] 00149
5 pldm_msgbuf_extract_uint32_to_size [function] [call site] 00150
5 pldm_msgbuf_discard [function] [call site] 00151
5 pldm_msgbuf_span_required [function] [call site] 00153
5 pldm_msgbuf_discard [function] [call site] 00154
5 pldm_msgbuf_span_required [function] [call site] 00155
5 pldm_msgbuf_span_until [function] [call site] 00156
6 pldm_msgbuf_ro_span_until [function] [call site] 00157
7 pldm__msgbuf_span_until [function] [call site] 00158
8 pldm__msgbuf_set_invalid [function] [call site] 00159
8 pldm__msgbuf_set_invalid [function] [call site] 00161
5 pldm_msgbuf_span_required [function] [call site] 00162
5 pldm_msgbuf_span_required [function] [call site] 00163
5 pldm_msgbuf_complete_consumed [function] [call site] 00165
6 pldm_msgbuf_ro_complete_consumed [function] [call site] 00166
7 pldm_msgbuf_ro_discard [function] [call site] 00167
7 pldm_msgbuf_ro_consumed [function] [call site] 00168
8 pldm__msgbuf_consumed [function] [call site] 00169
4 pldm_xlate_errno [function] [call site] 00170
3 InternalFailure [function] [call site] 00175
3 decode_descriptor_type_length_value [function] [call site] 00176
4 decode_descriptor_type_length_value_errno [function] [call site] 00177
5 get_descriptor_type_length [function] [call site] 00180
4 pldm_xlate_errno [function] [call site] 00181
3 InternalFailure [function] [call site] 00183
3 Descriptors::emplace [function] [call site] 00184
3 decode_vendor_defined_descriptor_value [function] [call site] 00185
4 decode_vendor_defined_descriptor_value_errno [function] [call site] 00186
5 is_string_type_valid [function] [call site] 00187
4 pldm_xlate_errno [function] [call site] 00188
3 InternalFailure [function] [call site] 00190
3 Descriptors::emplace [function] [call site] 00191
3 std::make_tuple [function] [call site] 00192
3 pldm::utils::toString [function] [call site] 00193
3 pldm_descriptor_tlv [function] [call site] 00194
3 pldm_descriptor_tlv [function] [call site] 00195
3 std::bitset::size [function] [call site] 00196
3 ApplicableComponents::emplace_back [function] [call site] 00197
3 std::bitset::size [function] [call site] 00198
3 emplace_back [function] [call site] 00199
3 std::make_tuple [function] [call site] 00200
3 pldm::utils::toString [function] [call site] 00201
3 std::move [function] [call site] 00202
2 InternalFailure [function] [call site] 00205
2 InternalFailure [function] [call site] 00207
2 static_cast<ComponentImageCount> [function] [call site] 00208
2 pldm::fw_update::PackageParser::parseCompImageInfoArea [function] [call site] 00210
3 decode_pldm_comp_image_info [function] [call site] 00212
4 decode_pldm_comp_image_info_errno [function] [call site] 00213
4 pldm_xlate_errno [function] [call site] 00222
3 InternalFailure [function] [call site] 00225
3 emplace_back [function] [call site] 00226
3 std::make_tuple [function] [call site] 00227
3 pldm::utils::toString [function] [call site] 00228
2 InternalFailure [function] [call site] 00231
2 InternalFailure [function] [call site] 00233
2 pldm_edac_crc32 [function] [call site] 00234
2 static_cast<PackageHeaderChecksum> [function] [call site] 00236
2 InternalFailure [function] [call site] 00239
2 pldm::fw_update::PackageParser::validatePkgTotalSize [function] [call site] 00240
3 std::get<static_cast<size_t>( [call site] 00241
6 ComponentImageInfoPos::CompLocationOffsetPos)> [function] [call site] 00242
3 std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)> [function] [call site] 00243
3 std::get<static_cast<size_t>( [call site] 00244
8 ComponentImageInfoPos::CompVersionPos)> [function] [call site] 00245
3 error [function] [call site] 00246
3 InternalFailure [function] [call site] 00247
3 error [function] [call site] 00248
3 InternalFailure [function] [call site] 00249