Fuzz introspector: libpldm/tests/fuzz/fd/fd-fuzz.cpp
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
461 0 EP call site: 00000 pldm_fd_handle_msg

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 PLDM_MSGBUF_RO_DEFINE_P [function] [call site] 00001
1 PLDM_MSGBUF_RO_DEFINE_P [function] [call site] 00002
1 pldm_msgbuf_init_errno [function] [call site] 00003
2 pldm_msgbuf_ro_init_errno [function] [call site] 00004
3 pldm__msgbuf_init_errno [function] [call site] 00005
4 pldm__msgbuf_set_invalid [function] [call site] 00006
4 pldm__msgbuf_set_invalid [function] [call site] 00007
4 pldm__msgbuf_set_invalid [function] [call site] 00008
1 pldm_msgbuf_init_errno [function] [call site] 00010
1 std::make_unique<fuzz_ops_ctx> [function] [call site] 00012
1 pldm_socket_sndbuf_get [function] [call site] 00014
2 getsockopt [function] [call site] 00015
1 pldm_fd_new [function] [call site] 00016
2 pldm_fd_setup [function] [call site] 00018
3 pldm_control_add_type [function] [call site] 00020
1 pldm_socket_sndbuf_get [function] [call site] 00022
1 pldm_msgbuf_extract_uint32 [function] [call site] 00024
1 std::vector::size [function] [call site] 00025
1 fuzz_chance [function] [call site] 00026
2 pldm_msgbuf_extract_uint8 [function] [call site] 00028
1 pldm_socket_sndbuf_get [function] [call site] 00029
1 pldm_fd_progress [function] [call site] 00030
2 pldm_fd_progress_download [function] [call site] 00031
3 pldm_fd_req_should_send [function] [call site] 00032
4 pldm_fd_now [function] [call site] 00033
5 cb_now [function] [call site] 00034
6 static_cast<struct [call site] 00035
3 pldm_fd_req_next_instance [function] [call site] 00037
3 encode_transfer_complete_req [function] [call site] 00038
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00039
4 encode_pldm_header_only [function] [call site] 00040
5 encode_pldm_header_only_errno [function] [call site] 00041
6 pack_pldm_header_errno [function] [call site] 00042
4 pldm_msgbuf_init_errno [function] [call site] 00047
4 pldm_msgbuf_insert [function] [call site] 00048
4 pldm_msgbuf_complete_used [function] [call site] 00049
5 pldm_msgbuf_rw_validate [function] [call site] 00050
6 pldm__msgbuf_validate [function] [call site] 00051
5 pldm__msgbuf_rw_invalidate [function] [call site] 00052
6 pldm__msgbuf_set_invalid [function] [call site] 00053
5 pldm__msgbuf_rw_invalidate [function] [call site] 00054
5 pldm__msgbuf_rw_invalidate [function] [call site] 00055
3 pldm_fd_fwdata_size [function] [call site] 00056
3 encode_request_firmware_data_req [function] [call site] 00059
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00060
4 encode_pldm_header_only [function] [call site] 00061
4 pldm_msgbuf_init_errno [function] [call site] 00062
4 pldm_msgbuf_insert [function] [call site] 00063
4 pldm_msgbuf_insert [function] [call site] 00064
4 pldm_msgbuf_complete_used [function] [call site] 00065
3 pldm_fd_now [function] [call site] 00066
2 pldm_fd_progress_verify [function] [call site] 00067
3 pldm_fd_req_should_send [function] [call site] 00068
3 pldm_fd_req_next_instance [function] [call site] 00085
3 encode_verify_complete_req [function] [call site] 00086
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00087
4 encode_pldm_header_only [function] [call site] 00088
4 pldm_msgbuf_init_errno [function] [call site] 00089
4 pldm_msgbuf_insert [function] [call site] 00090
4 pldm_msgbuf_complete_used [function] [call site] 00091
3 pldm_fd_now [function] [call site] 00092
2 pldm_fd_progress_apply [function] [call site] 00093
3 pldm_fd_req_should_send [function] [call site] 00094
3 cb_apply [function] [call site] 00095
4 debug_printf [function] [call site] 00096
4 static_cast<struct [call site] 00097
4 fuzz_chance [function] [call site] 00104
4 debug_printf [function] [call site] 00105
4 fuzz_chance [function] [call site] 00106
4 debug_printf [function] [call site] 00107
4 debug_printf [function] [call site] 00108
3 pldm_fd_req_next_instance [function] [call site] 00109
3 encode_apply_complete_req [function] [call site] 00110
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00111
4 encode_pldm_header_only [function] [call site] 00112
4 pldm_msgbuf_init_errno [function] [call site] 00113
4 pldm_msgbuf_insert [function] [call site] 00114
4 pldm_msgbuf_insert [function] [call site] 00115
4 pldm_msgbuf_complete_used [function] [call site] 00116
3 pldm_fd_now [function] [call site] 00117
2 pldm_fd_now [function] [call site] 00118
2 pldm_fd_maybe_cancel_component [function] [call site] 00119
3 cb_cancel_update_component [function] [call site] 00120
4 debug_printf [function] [call site] 00121
4 static_cast<struct [call site] 00122
2 pldm_fd_idle_timeout [function] [call site] 00127
3 pldm_fd_set_idle [function] [call site] 00128
1 std::vector::data [function] [call site] 00129
1 pldm_msgbuf_extract_uint32 [function] [call site] 00130
1 pldm_msgbuf_extract_array_uint8 [function] [call site] 00132
2 pldm__msgbuf_extract_array_void [function] [call site] 00133
3 pldm__msgbuf_ro_invalidate [function] [call site] 00134
4 pldm__msgbuf_set_invalid [function] [call site] 00135
3 pldm__msgbuf_ro_invalidate [function] [call site] 00138
1 std::vector::data [function] [call site] 00139
1 std::vector::size [function] [call site] 00140
1 pldm_fd_handle_msg [function] [call site] 00141
2 unpack_pldm_header [function] [call site] 00142
3 unpack_pldm_header_errno [function] [call site] 00143
3 pldm_xlate_errno [function] [call site] 00144
2 pldm_fd_handle_resp [function] [call site] 00146
3 pldm_fd_now [function] [call site] 00147
3 pldm_fd_handle_fwdata_resp [function] [call site] 00148
4 pldm_fd_fwdata_size [function] [call site] 00149
3 pldm_fd_handle_transfer_complete_resp [function] [call site] 00163
4 pldm_fd_set_state [function] [call site] 00165
3 pldm_fd_handle_verify_complete_resp [function] [call site] 00167
4 pldm_fd_set_state [function] [call site] 00170
3 pldm_fd_handle_apply_complete_resp [function] [call site] 00171
4 pldm_fd_set_state [function] [call site] 00173
2 pldm_fd_reply_cc [function] [call site] 00175
3 encode_cc_only_resp [function] [call site] 00176
4 pack_pldm_header [function] [call site] 00177
5 pack_pldm_header_errno [function] [call site] 00178
5 pldm_xlate_errno [function] [call site] 00179
2 pldm_fd_now [function] [call site] 00181
2 pldm_fd_qdi [function] [call site] 00182
3 pldm_fd_reply_cc [function] [call site] 00183
3 cb_device_identifiers [function] [call site] 00184
4 debug_printf [function] [call site] 00185
3 pldm_fd_reply_cc [function] [call site] 00186
3 encode_query_device_identifiers_resp [function] [call site] 00187
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00188
4 encode_pldm_header_only [function] [call site] 00189
4 pldm_msgbuf_init_errno [function] [call site] 00190
4 pldm_msgbuf_insert_uint8 [function] [call site] 00191
5 pldm__msgbuf_rw_invalidate [function] [call site] 00194
4 pldm_msgbuf_insert [function] [call site] 00195
4 pldm_msgbuf_insert [function] [call site] 00196
4 pldm_msgbuf_insert [function] [call site] 00197
4 pldm_msgbuf_insert [function] [call site] 00198
4 pldm_msgbuf_discard [function] [call site] 00199
5 pldm_msgbuf_ro_discard [function] [call site] 00200
6 pldm__msgbuf_discard [function] [call site] 00201
4 pldm_msgbuf_insert_array [function] [call site] 00202
4 pldm_msgbuf_discard [function] [call site] 00203
4 pldm_msgbuf_complete_used [function] [call site] 00204
3 pldm_fd_reply_errno [function] [call site] 00205
4 pldm_fd_reply_cc [function] [call site] 00207
2 pldm_fd_fw_param [function] [call site] 00208
3 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00209
3 pldm_fd_reply_cc [function] [call site] 00210
3 cb_components [function] [call site] 00211
4 debug_printf [function] [call site] 00212
4 static_cast<struct [call site] 00213
4 ARRAY_SIZE [function] [call site] 00214
4 fuzz_chance [function] [call site] 00215
3 pldm_fd_reply_cc [function] [call site] 00216
3 pldm_msgbuf_init_errno [function] [call site] 00217
3 cb_imageset_versions [function] [call site] 00218
4 debug_printf [function] [call site] 00219
4 static_cast<struct [call site] 00220
4 fuzz_chance [function] [call site] 00223
3 pldm_msgbuf_discard [function] [call site] 00224
3 pldm_fd_reply_cc [function] [call site] 00225
3 encode_get_firmware_parameters_resp [function] [call site] 00226
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00227
4 is_string_type_valid [function] [call site] 00228
4 is_string_type_valid [function] [call site] 00229
4 encode_pldm_header_only [function] [call site] 00230
4 pldm_msgbuf_init_errno [function] [call site] 00231
4 pldm_msgbuf_insert [function] [call site] 00232
4 pldm_msgbuf_insert [function] [call site] 00233
4 pldm_msgbuf_insert [function] [call site] 00234
4 pldm_msgbuf_insert [function] [call site] 00235
4 pldm_msgbuf_insert [function] [call site] 00236
4 pldm_msgbuf_insert [function] [call site] 00237
4 pldm_msgbuf_insert [function] [call site] 00238
4 pldm_msgbuf_insert_array [function] [call site] 00239
4 pldm_msgbuf_discard [function] [call site] 00240
4 pldm_msgbuf_insert_array [function] [call site] 00241
4 pldm_msgbuf_discard [function] [call site] 00242
4 pldm_msgbuf_complete_used [function] [call site] 00243
3 pldm_msgbuf_discard [function] [call site] 00244
3 pldm_fd_reply_errno [function] [call site] 00245
3 pldm_msgbuf_skip [function] [call site] 00246
4 pldm__msgbuf_rw_invalidate [function] [call site] 00247
4 pldm__msgbuf_rw_invalidate [function] [call site] 00249
3 pldm_msgbuf_discard [function] [call site] 00250
3 pldm_msgbuf_peek_remaining [function] [call site] 00251
3 pldm_msgbuf_discard [function] [call site] 00253
3 encode_get_firmware_parameters_resp_comp_entry [function] [call site] 00254
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00255
4 pldm_msgbuf_init_errno [function] [call site] 00256
4 pldm_msgbuf_insert [function] [call site] 00257
4 pldm_msgbuf_insert [function] [call site] 00258
4 pldm_msgbuf_insert [function] [call site] 00259
4 pldm_msgbuf_insert [function] [call site] 00260
4 pldm_msgbuf_insert [function] [call site] 00261
4 pldm_msgbuf_insert [function] [call site] 00262
4 pldm_msgbuf_insert_array [function] [call site] 00263
4 pldm_msgbuf_discard [function] [call site] 00264
4 pldm_msgbuf_insert [function] [call site] 00265
4 pldm_msgbuf_insert [function] [call site] 00266
4 pldm_msgbuf_insert [function] [call site] 00267
4 pldm_msgbuf_insert_array [function] [call site] 00268
4 pldm_msgbuf_discard [function] [call site] 00269
4 pldm_msgbuf_insert [function] [call site] 00270
4 pldm_msgbuf_insert [function] [call site] 00271
4 pldm_msgbuf_insert_array [function] [call site] 00272
4 pldm_msgbuf_discard [function] [call site] 00273
4 pldm_msgbuf_insert_array [function] [call site] 00274
4 pldm_msgbuf_discard [function] [call site] 00275
4 pldm_msgbuf_complete_used [function] [call site] 00276
3 pldm_msgbuf_discard [function] [call site] 00277
3 pldm_fd_reply_errno [function] [call site] 00278
3 pldm_msgbuf_skip [function] [call site] 00279
3 pldm_msgbuf_complete_used [function] [call site] 00280
2 pldm_fd_request_update [function] [call site] 00281
3 pldm_fd_reply_cc [function] [call site] 00282
3 decode_request_update_req [function] [call site] 00283
4 PLDM_MSGBUF_RO_DEFINE_P [function] [call site] 00284
4 pldm_msgbuf_init_errno [function] [call site] 00285
4 pldm_msgbuf_extract [function] [call site] 00286
4 pldm_msgbuf_extract [function] [call site] 00287
4 pldm_msgbuf_extract [function] [call site] 00288
4 pldm_msgbuf_extract [function] [call site] 00289
4 pldm_msgbuf_extract [function] [call site] 00290
4 pldm_msgbuf_discard [function] [call site] 00291
4 pldm_msgbuf_discard [function] [call site] 00292
4 pldm_msgbuf_extract [function] [call site] 00293
4 pldm_msgbuf_discard [function] [call site] 00294
4 pldm_msgbuf_extract_array [function] [call site] 00295
4 pldm_msgbuf_discard [function] [call site] 00296
4 pldm_msgbuf_complete_consumed [function] [call site] 00297
5 pldm_msgbuf_ro_complete_consumed [function] [call site] 00298
6 pldm_msgbuf_ro_discard [function] [call site] 00299
6 pldm_msgbuf_ro_consumed [function] [call site] 00300
7 pldm__msgbuf_consumed [function] [call site] 00301
3 pldm_fd_reply_errno [function] [call site] 00302
3 encode_request_update_resp [function] [call site] 00303
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00304
4 pack_pldm_header [function] [call site] 00305
4 pldm_msgbuf_init_errno [function] [call site] 00306
4 pldm_msgbuf_insert_uint8 [function] [call site] 00307
4 pldm_msgbuf_insert [function] [call site] 00308
4 pldm_msgbuf_insert [function] [call site] 00309
4 pldm_msgbuf_complete_used [function] [call site] 00310
3 pldm_fd_reply_errno [function] [call site] 00311
3 cb_transfer_size [function] [call site] 00312
4 debug_printf [function] [call site] 00313
4 static_cast<struct [call site] 00314
4 fuzz_chance [function] [call site] 00315
3 pldm_fd_set_state [function] [call site] 00316
2 pldm_fd_pass_comp [function] [call site] 00317
3 pldm_fd_reply_cc [function] [call site] 00318
3 decode_pass_component_table_req [function] [call site] 00319
4 PLDM_MSGBUF_RO_DEFINE_P [function] [call site] 00320
4 pldm_msgbuf_init_errno [function] [call site] 00321
4 pldm_msgbuf_extract [function] [call site] 00322
4 pldm_msgbuf_extract [function] [call site] 00323
4 pldm_msgbuf_extract [function] [call site] 00324
4 pldm_msgbuf_extract [function] [call site] 00325
4 pldm_msgbuf_extract [function] [call site] 00326
4 pldm_msgbuf_extract [function] [call site] 00327
4 pldm_msgbuf_discard [function] [call site] 00328
4 pldm_msgbuf_discard [function] [call site] 00329
4 pldm_msgbuf_extract [function] [call site] 00330
4 pldm_msgbuf_discard [function] [call site] 00331
4 pldm_msgbuf_extract_array [function] [call site] 00332
4 pldm_msgbuf_discard [function] [call site] 00333
4 pldm_msgbuf_complete_consumed [function] [call site] 00334
3 pldm_fd_reply_errno [function] [call site] 00335
3 pldm_fd_check_update_component [function] [call site] 00337
4 cb_components [function] [call site] 00338
4 cb_update_component [function] [call site] 00339
5 debug_printf [function] [call site] 00340
5 static_cast<struct [call site] 00341
5 fuzz_chance [function] [call site] 00342
5 debug_printf [function] [call site] 00344
3 encode_pass_component_table_resp [function] [call site] 00346
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00347
4 encode_pldm_header_only [function] [call site] 00348
4 pldm_msgbuf_init_errno [function] [call site] 00349
4 pldm_msgbuf_insert_uint8 [function] [call site] 00350
4 pldm_msgbuf_insert [function] [call site] 00351
4 pldm_msgbuf_insert [function] [call site] 00352
4 pldm_msgbuf_complete_used [function] [call site] 00353
3 pldm_fd_reply_errno [function] [call site] 00354
3 pldm_fd_set_state [function] [call site] 00355
2 pldm_fd_update_comp [function] [call site] 00356
3 pldm_fd_reply_cc [function] [call site] 00357
3 decode_update_component_req [function] [call site] 00358
4 PLDM_MSGBUF_RO_DEFINE_P [function] [call site] 00359
4 pldm_msgbuf_init_errno [function] [call site] 00360
4 pldm_msgbuf_extract [function] [call site] 00361
4 pldm_msgbuf_extract [function] [call site] 00362
4 pldm_msgbuf_extract [function] [call site] 00363
4 pldm_msgbuf_extract [function] [call site] 00364
4 pldm_msgbuf_extract [function] [call site] 00365
4 pldm_msgbuf_extract [function] [call site] 00366
4 pldm_msgbuf_extract [function] [call site] 00367
4 pldm_msgbuf_discard [function] [call site] 00368
4 pldm_msgbuf_discard [function] [call site] 00369
4 pldm_msgbuf_extract [function] [call site] 00370
4 pldm_msgbuf_discard [function] [call site] 00371
4 pldm_msgbuf_extract_array [function] [call site] 00372
4 pldm_msgbuf_discard [function] [call site] 00373
4 pldm_msgbuf_complete_consumed [function] [call site] 00374
3 pldm_fd_reply_errno [function] [call site] 00375
3 pldm_fd_check_update_component [function] [call site] 00377
3 encode_update_component_resp [function] [call site] 00378
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00379
4 encode_pldm_header_only [function] [call site] 00380
4 pldm_msgbuf_init_errno [function] [call site] 00381
4 pldm_msgbuf_insert_uint8 [function] [call site] 00382
4 pldm_msgbuf_insert [function] [call site] 00383
4 pldm_msgbuf_insert [function] [call site] 00384
4 pldm_msgbuf_insert [function] [call site] 00385
4 pldm_msgbuf_insert [function] [call site] 00386
4 pldm_msgbuf_complete_used [function] [call site] 00387
3 cb_cancel_update_component [function] [call site] 00388
3 pldm_fd_reply_errno [function] [call site] 00389
3 pldm_fd_set_state [function] [call site] 00391
2 pldm_fd_get_status [function] [call site] 00392
3 pldm_fd_reply_cc [function] [call site] 00393
3 pldm_fd_get_aux_state [function] [call site] 00394
3 encode_get_status_resp [function] [call site] 00395
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00396
4 encode_pldm_header_only [function] [call site] 00397
4 pldm_msgbuf_init_errno [function] [call site] 00398
4 pldm_msgbuf_insert_uint8 [function] [call site] 00399
4 pldm_msgbuf_insert [function] [call site] 00400
4 pldm_msgbuf_insert [function] [call site] 00401
4 pldm_msgbuf_insert [function] [call site] 00402
4 pldm_msgbuf_insert [function] [call site] 00403
4 pldm_msgbuf_insert [function] [call site] 00404
4 pldm_msgbuf_insert [function] [call site] 00405
4 pldm_msgbuf_insert [function] [call site] 00406
4 pldm_msgbuf_complete_used [function] [call site] 00407
3 pldm_fd_reply_errno [function] [call site] 00408
2 pldm_fd_cancel_update_comp [function] [call site] 00409
3 pldm_fd_reply_cc [function] [call site] 00410
3 pldm_fd_reply_cc [function] [call site] 00411
3 pldm_fd_reply_cc [function] [call site] 00412
3 pldm_fd_maybe_cancel_component [function] [call site] 00413
3 pldm_fd_set_state [function] [call site] 00414
2 pldm_fd_cancel_update [function] [call site] 00415
3 pldm_fd_reply_cc [function] [call site] 00416
3 pldm_fd_reply_cc [function] [call site] 00417
3 encode_cancel_update_resp [function] [call site] 00418
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00419
4 encode_pldm_header_only [function] [call site] 00420
4 pldm_msgbuf_init_errno [function] [call site] 00421
4 pldm_msgbuf_insert_uint8 [function] [call site] 00422
4 pldm_msgbuf_insert [function] [call site] 00423
4 pldm_msgbuf_insert [function] [call site] 00424
4 pldm_msgbuf_complete_used [function] [call site] 00425
3 pldm_fd_reply_errno [function] [call site] 00426
3 pldm_fd_maybe_cancel_component [function] [call site] 00427
3 pldm_fd_set_idle [function] [call site] 00428
2 pldm_fd_activate_firmware [function] [call site] 00429
3 decode_activate_firmware_req [function] [call site] 00430
4 PLDM_MSGBUF_RO_DEFINE_P [function] [call site] 00431
4 pldm_msgbuf_init_errno [function] [call site] 00432
4 pldm_msgbuf_extract [function] [call site] 00433
4 pldm_msgbuf_complete_consumed [function] [call site] 00434
3 pldm_fd_reply_errno [function] [call site] 00435
3 pldm_fd_reply_cc [function] [call site] 00436
3 cb_activate [function] [call site] 00437
4 debug_printf [function] [call site] 00438
4 static_cast<struct [call site] 00439
4 fuzz_chance [function] [call site] 00441
3 pldm_fd_set_state [function] [call site] 00442
3 pldm_fd_set_idle [function] [call site] 00443
3 encode_activate_firmware_resp [function] [call site] 00444
4 PLDM_MSGBUF_RW_DEFINE_P [function] [call site] 00445
4 encode_pldm_header_only [function] [call site] 00446
4 pldm_msgbuf_init_errno [function] [call site] 00447
4 pldm_msgbuf_insert_uint8 [function] [call site] 00448
4 pldm_msgbuf_insert [function] [call site] 00449
4 pldm_msgbuf_complete_used [function] [call site] 00450
3 pldm_fd_reply_errno [function] [call site] 00451
3 pldm_fd_reply_cc [function] [call site] 00452
2 pldm_fd_reply_cc [function] [call site] 00453
1 std::vector::data [function] [call site] 00454
1 std::vector::size [function] [call site] 00455
1 std::vector::data [function] [call site] 00456
1 std::vector::size [function] [call site] 00458
1 pldm_msgbuf_discard [function] [call site] 00459
1 pldm_msgbuf_discard [function] [call site] 00460