Fuzz introspector: structured_fuzz_reader
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
446 0 EP call site: 00000 ZipArchive::new

Fuzzer calltree

0 fuzz_target [function] [call site] 00000
1 fuzzed_extract [function] [call site] 00001
2 zip::ZipArchive::new [function] [call site] 00002
3 spec::CentralDirectoryEnd::find_and_parse [function] [call site] 00003
4 io::SeekFrom::End [function] [call site] 00010
4 saturating_sub [function] [call site] 00011
4 ZipError::InvalidArchive [function] [call site] 00013
4 Zip64File::seek [function] [call site] 00014
4 io::SeekFrom::Start [function] [call site] 00015
4 read_u32::<LittleEndian> [function] [call site] 00016
4 Zip64File::seek [function] [call site] 00017
4 io::SeekFrom::Current [function] [call site] 00018
4 Zip64File::seek [function] [call site] 00019
4 io::SeekFrom::Start [function] [call site] 00020
4 CentralDirectoryEnd::parse [function] [call site] 00021
5 read_u32::<LittleEndian> [function] [call site] 00022
5 ZipError::InvalidArchive [function] [call site] 00024
5 read_u16::<LittleEndian> [function] [call site] 00025
5 read_u16::<LittleEndian> [function] [call site] 00026
5 read_u16::<LittleEndian> [function] [call site] 00027
5 read_u16::<LittleEndian> [function] [call site] 00028
5 read_u32::<LittleEndian> [function] [call site] 00029
5 read_u32::<LittleEndian> [function] [call site] 00030
5 read_u16::<LittleEndian> [function] [call site] 00031
5 ZipResult::read_exact [function] [call site] 00032
4 ZipResult::map [function] [call site] 00034
4 checked_sub [function] [call site] 00035
4 ZipError::InvalidArchive [function] [call site] 00037
3 CentralDirectoryEnd::record_too_small [function] [call site] 00038
3 unsupported_zip_error [function] [call site] 00039
4 ZipError::UnsupportedArchive [function] [call site] 00041
3 ZipArchive::get_directory_counts [function] [call site] 00042
4 Zip64File::seek [function] [call site] 00043
4 io::SeekFrom::End [function] [call site] 00044
4 ZipArchive::len [function] [call site] 00045
5 ZipArchive::len [function] [call site] 00046
4 io::Result::is_ok [function] [call site] 00047
4 spec::Zip64CentralDirectoryEndLocator::parse [function] [call site] 00048
5 read_u32::<LittleEndian> [function] [call site] 00049
5 ZipError::InvalidArchive [function] [call site] 00051
5 read_u32::<LittleEndian> [function] [call site] 00052
5 read_u64::<LittleEndian> [function] [call site] 00053
5 read_u32::<LittleEndian> [function] [call site] 00054
4 u64::checked_sub [function] [call site] 00058
4 checked_sub [function] [call site] 00060
4 ZipError::InvalidArchive [function] [call site] 00062
4 &spec::CentralDirectoryEnd::record_too_small [function] [call site] 00064
4 unsupported_zip_error [function] [call site] 00065
4 u64::checked_sub [function] [call site] 00066
4 ZipError::InvalidArchive [function] [call site] 00068
4 spec::Zip64CentralDirectoryEnd::find_and_parse [function] [call site] 00069
5 Zip64File::seek [function] [call site] 00070
5 io::SeekFrom::Start [function] [call site] 00071
5 read_u32::<LittleEndian> [function] [call site] 00072
5 read_u64::<LittleEndian> [function] [call site] 00073
5 read_u16::<LittleEndian> [function] [call site] 00074
5 read_u16::<LittleEndian> [function] [call site] 00075
5 read_u32::<LittleEndian> [function] [call site] 00076
5 read_u32::<LittleEndian> [function] [call site] 00077
5 read_u64::<LittleEndian> [function] [call site] 00078
5 read_u64::<LittleEndian> [function] [call site] 00079
5 read_u64::<LittleEndian> [function] [call site] 00080
5 read_u64::<LittleEndian> [function] [call site] 00081
5 ZipError::InvalidArchive [function] [call site] 00084
4 unsupported_zip_error [function] [call site] 00085
4 checked_add [function] [call site] 00086
4 ZipError::InvalidArchive [function] [call site] 00088
3 Vec::with_capacity [function] [call site] 00090
3 HashMap::with_capacity [function] [call site] 00091
3 Zip64File::seek [function] [call site] 00092
3 io::SeekFrom::Start [function] [call site] 00093
3 io::Result::is_err [function] [call site] 00094
3 ZipError::InvalidArchive [function] [call site] 00096
3 central_header_to_zip_file [function] [call site] 00097
4 ZipResult::stream_position [function] [call site] 00098
4 read_u32::<LittleEndian> [function] [call site] 00099
4 ZipError::InvalidArchive [function] [call site] 00101
4 central_header_to_zip_file_inner [function] [call site] 00102
5 read_u16::<LittleEndian> [function] [call site] 00103
5 read_u16::<LittleEndian> [function] [call site] 00104
5 read_u16::<LittleEndian> [function] [call site] 00105
5 read_u16::<LittleEndian> [function] [call site] 00106
5 read_u16::<LittleEndian> [function] [call site] 00107
5 read_u16::<LittleEndian> [function] [call site] 00108
5 read_u32::<LittleEndian> [function] [call site] 00109
5 read_u32::<LittleEndian> [function] [call site] 00110
5 read_u32::<LittleEndian> [function] [call site] 00111
5 read_u16::<LittleEndian> [function] [call site] 00112
5 read_u16::<LittleEndian> [function] [call site] 00113
5 read_u16::<LittleEndian> [function] [call site] 00114
5 read_u16::<LittleEndian> [function] [call site] 00115
5 read_u16::<LittleEndian> [function] [call site] 00116
5 read_u32::<LittleEndian> [function] [call site] 00117
5 read_u32::<LittleEndian> [function] [call site] 00118
5 ZipResult::read_exact [function] [call site] 00119
5 ZipResult::read_exact [function] [call site] 00120
5 ZipResult::read_exact [function] [call site] 00121
5 String::from_utf8_lossy [function] [call site] 00122
5 into_owned [function] [call site] 00123
5 AtomicU64::clone [function] [call site] 00124
6 atomic::AtomicU64::new [function] [call site] 00126
7 atomic::AtomicU64::new [function] [call site] 00128
6 AtomicU64::load [function] [call site] 00129
7 AtomicU64::load [function] [call site] 00130
8 AtomicU64::load [function] [call site] 00131
5 &'a [call site] 00132
6 &'a [call site] 00133
6 CentralDirectoryEnd::record_too_small [function] [call site] 00134
6 ::std::str::from_utf8 [function] [call site] 00135
6 GenericZipWriter::unwrap [function] [call site] 00136
6 &'a [call site] 00138
6 to_char [function] [call site] 00140
7 ::std::char::from_u32 [function] [call site] 00141
7 GenericZipWriter::unwrap [function] [call site] 00142
6 iter().map(|c| [call site] 00143
5 String::from_utf8_lossy [function] [call site] 00145
5 into_owned [function] [call site] 00146
5 &'a [call site] 00147
5 System::from_u8 [function] [call site] 00148
5 CompressionMethod::from_u16 [function] [call site] 00149
6 CompressionMethod::Unsupported [function] [call site] 00150
5 DateTime::from_msdos [function] [call site] 00151
5 AtomicU64::new [function] [call site] 00152
6 atomic::AtomicU64::new [function] [call site] 00154
5 parse_extra_field [function] [call site] 00155
6 io::Cursor::new [function] [call site] 00156
6 ZipResult::position [function] [call site] 00157
6 ZipArchive::len [function] [call site] 00158
6 read_u16::<LittleEndian> [function] [call site] 00159
6 read_u16::<LittleEndian> [function] [call site] 00160
6 read_u64::<LittleEndian> [function] [call site] 00161
6 read_u64::<LittleEndian> [function] [call site] 00162
6 read_u64::<LittleEndian> [function] [call site] 00163
6 ZipError::UnsupportedArchive [function] [call site] 00165
6 read_u16::<LittleEndian> [function] [call site] 00166
6 read_u16::<LittleEndian> [function] [call site] 00167
6 ZipResult::read_u8 [function] [call site] 00168
6 read_u16::<LittleEndian> [function] [call site] 00169
6 ZipError::InvalidArchive [function] [call site] 00171
6 ZipError::InvalidArchive [function] [call site] 00173
6 ZipError::InvalidArchive [function] [call site] 00178
6 CompressionMethod::from_u16 [function] [call site] 00179
6 Zip64File::seek [function] [call site] 00180
6 io::SeekFrom::Current [function] [call site] 00181
5 ZipError::InvalidArchive [function] [call site] 00186
5 checked_add [function] [call site] 00187
5 ZipError::InvalidArchive [function] [call site] 00189
3 AtomicU64::clone [function] [call site] 00192
3 ZipArchive::len [function] [call site] 00193
3 Zip64File::new [function] [call site] 00195
2 Zip64File::new [function] [call site] 00197
2 zip::result::ZipResult::by_name [function] [call site] 00199
3 ZipArchive::by_name_with_optional_password [function] [call site] 00201
4 fuzz_target [function] [call site] 00202
5 fuzzed_extract [function] [call site] 00203
5 std::hint::black_box [function] [call site] 00204
5 std::hint::black_box [function] [call site] 00205
4 ZipArchive::by_index_with_optional_password [function] [call site] 00207
5 fuzz_target [function] [call site] 00208
5 ZipError::UnsupportedArchive [function] [call site] 00211
5 find_content [function] [call site] 00212
6 Zip64File::seek [function] [call site] 00213
6 io::SeekFrom::Start [function] [call site] 00214
6 read_u32::<LittleEndian> [function] [call site] 00215
6 ZipError::InvalidArchive [function] [call site] 00217
6 Zip64File::seek [function] [call site] 00218
6 io::SeekFrom::Current [function] [call site] 00219
6 read_u16::<LittleEndian> [function] [call site] 00220
6 read_u16::<LittleEndian> [function] [call site] 00221
6 AtomicU64::store [function] [call site] 00222
7 AtomicU64::store [function] [call site] 00223
6 Zip64File::seek [function] [call site] 00224
6 io::SeekFrom::Start [function] [call site] 00225
5 make_crypto_reader [function] [call site] 00228
6 unsupported_zip_error [function] [call site] 00229
6 ZipError::UnsupportedArchive [function] [call site] 00231
6 AesReader::new [function] [call site] 00232
7 AesMode::salt_length [function] [call site] 00233
8 AesMode::key_length [function] [call site] 00234
6 AesReader::validate [function] [call site] 00235
7 AesMode::salt_length [function] [call site] 00236
8 AesMode::key_length [function] [call site] 00237
7 AesMode::key_length [function] [call site] 00238
7 read_exact [function] [call site] 00239
7 read_exact [function] [call site] 00240
7 pbkdf2::pbkdf2::<Hmac<Sha1>> [function] [call site] 00241
7 cipher_from_mode [function] [call site] 00243
8 Zip64File::new [function] [call site] 00244
8 aes_ctr::AesCtrZipKeyStream::<aes_ctr::Aes128>::new [function] [call site] 00245
8 Zip64File::new [function] [call site] 00246
8 aes_ctr::AesCtrZipKeyStream::<aes_ctr::Aes192>::new [function] [call site] 00247
8 Zip64File::new [function] [call site] 00248
8 aes_ctr::AesCtrZipKeyStream::<aes_ctr::Aes256>::new [function] [call site] 00249
7 Hmac::<Sha1>::new_from_slice [function] [call site] 00250
7 GenericZipWriter::unwrap [function] [call site] 00251
6 ZipCryptoValidator::InfoZipMsdosTime [function] [call site] 00256
6 DateTime::timepart [function] [call site] 00257
6 ZipCryptoValidator::PkzipCrc32 [function] [call site] 00258
6 ZipCryptoReader::new [function] [call site] 00259
7 ZipCryptoKeys::derive [function] [call site] 00260
8 ZipCryptoKeys::new [function] [call site] 00261
9 std::num::Wrapping [function] [call site] 00262
9 std::num::Wrapping [function] [call site] 00263
9 std::num::Wrapping [function] [call site] 00264
8 ZipResult::iter [function] [call site] 00265
8 ZipCryptoKeys::update [function] [call site] 00266
9 ZipCryptoKeys::crc32 [function] [call site] 00267
10 std::num::Wrapping [function] [call site] 00268
10 std::num::Wrapping [function] [call site] 00269
9 std::num::Wrapping [function] [call site] 00270
9 std::num::Wrapping [function] [call site] 00271
9 std::num::Wrapping [function] [call site] 00272
9 ZipCryptoKeys::crc32 [function] [call site] 00273
6 ZipCryptoReader::validate [function] [call site] 00274
7 read_exact [function] [call site] 00275
7 ZipCryptoKeys::decrypt_byte [function] [call site] 00277
8 ZipCryptoKeys::stream_byte [function] [call site] 00278
9 std::num::Wrapping [function] [call site] 00279
9 std::num::Wrapping [function] [call site] 00280
9 std::num::Wrapping [function] [call site] 00281
8 ZipCryptoKeys::update [function] [call site] 00282
6 CryptoReader::ZipCrypto [function] [call site] 00289
6 CryptoReader::Plaintext [function] [call site] 00292
5 Cow::Borrowed [function] [call site] 00298
3 GenericZipWriter::unwrap [function] [call site] 00302
2 std::hint::black_box [function] [call site] 00303
2 read_file_attributes [function] [call site] 00304
3 std::hint::black_box [function] [call site] 00305
3 zip::result::ZipResult::name [function] [call site] 00306
4 path::Path::new [function] [call site] 00308
4 ZipResult::components [function] [call site] 00309
4 checked_sub [function] [call site] 00310
3 std::hint::black_box [function] [call site] 00312
3 zip::result::ZipResult::mangled_name [function] [call site] 00313
4 ZipFileData::file_name_sanitized [function] [call site] 00314
5 path_to_string [function] [call site] 00316
6 Zip64File::new [function] [call site] 00317
6 ZipResult::components [function] [call site] 00318
6 ZipArchive::is_empty [function] [call site] 00319
7 ZipArchive::len [function] [call site] 00320
8 ZipArchive::len [function] [call site] 00321
6 Self::push [function] [call site] 00322
6 Self::push_str [function] [call site] 00323
6 to_string_lossy [function] [call site] 00324
5 path_to_string [function] [call site] 00326
5 path_to_string [function] [call site] 00327
5 ::std::path::Path::new [function] [call site] 00328
5 Self::components [function] [call site] 00329
5 ::std::path::PathBuf::new [function] [call site] 00332
5 ZipResult::push [function] [call site] 00333
5 as_os_str [function] [call site] 00334
3 std::hint::black_box [function] [call site] 00335
3 zip::result::ZipResult::enclosed_name [function] [call site] 00336
4 path::Path::new [function] [call site] 00338
4 ZipResult::components [function] [call site] 00339
4 checked_sub [function] [call site] 00340
3 std::hint::black_box [function] [call site] 00342
3 zip::result::ZipResult::compression [function] [call site] 00343
3 std::hint::black_box [function] [call site] 00344
3 zip::result::ZipResult::compressed_size [function] [call site] 00345
3 std::hint::black_box [function] [call site] 00346
3 zip::result::ZipResult::size [function] [call site] 00347
3 std::hint::black_box [function] [call site] 00348
3 zip::result::ZipResult::last_modified [function] [call site] 00349
3 std::hint::black_box [function] [call site] 00350
3 zip::result::ZipResult::is_dir [function] [call site] 00351
3 std::hint::black_box [function] [call site] 00357
3 zip::result::ZipResult::is_file [function] [call site] 00358
3 std::hint::black_box [function] [call site] 00365
3 zip::result::ZipResult::unix_mode [function] [call site] 00366
3 std::hint::black_box [function] [call site] 00369
3 zip::result::ZipResult::crc32 [function] [call site] 00370
3 std::hint::black_box [function] [call site] 00371
3 zip::result::ZipResult::data_start [function] [call site] 00372
4 AtomicU64::load [function] [call site] 00373
3 std::hint::black_box [function] [call site] 00374
3 zip::result::ZipResult::header_start [function] [call site] 00375
3 std::hint::black_box [function] [call site] 00376
3 zip::result::ZipResult::central_header_start [function] [call site] 00377
3 Zip64File::new [function] [call site] 00378
3 std::hint::black_box [function] [call site] 00379
3 zip::result::ZipResult::read_to_string [function] [call site] 00380
2 zip::result::ZipResult::by_name_decrypt [function] [call site] 00382
3 ZipArchive::by_name_with_optional_password [function] [call site] 00383
2 std::hint::black_box [function] [call site] 00385
2 read_file_attributes [function] [call site] 00386
2 std::hint::black_box [function] [call site] 00387
2 std::hint::black_box [function] [call site] 00388
2 zip::result::ZipResult::file_names [function] [call site] 00389
2 impl [call site] 00393
2 path_to_string [function] [call site] 00394
2 impl [call site] 00396
2 zip::result::ZipResult::by_name [function] [call site] 00397
2 std::hint::black_box [function] [call site] 00398
2 read_file_attributes [function] [call site] 00399
2 zip::result::ZipResult::by_index [function] [call site] 00400
3 ZipArchive::by_index_with_optional_password [function] [call site] 00402
3 GenericZipWriter::unwrap [function] [call site] 00403
2 std::hint::black_box [function] [call site] 00404
2 read_file_attributes [function] [call site] 00405
2 zip::result::ZipResult::by_index_decrypt [function] [call site] 00406
3 ZipArchive::by_index_with_optional_password [function] [call site] 00407
2 std::hint::black_box [function] [call site] 00409
2 read_file_attributes [function] [call site] 00410
2 std::hint::black_box [function] [call site] 00411
2 std::hint::black_box [function] [call site] 00412
2 zip::result::ZipResult::len [function] [call site] 00413
3 ZipArchive::len [function] [call site] 00414
2 zip::result::ZipResult::by_index [function] [call site] 00415
2 std::hint::black_box [function] [call site] 00416
2 read_file_attributes [function] [call site] 00417
2 std::hint::black_box [function] [call site] 00418
2 zip::result::ZipResult::comment [function] [call site] 00419
3 Zip64File::new [function] [call site] 00420
3 Self::extend_from_slice [function] [call site] 00421
3 ZipArchive::new [function] [call site] 00422
4 spec::CentralDirectoryEnd::find_and_parse [function] [call site] 00423
4 CentralDirectoryEnd::record_too_small [function] [call site] 00424
4 unsupported_zip_error [function] [call site] 00425
4 ZipArchive::get_directory_counts [function] [call site] 00426
4 Vec::with_capacity [function] [call site] 00427
4 HashMap::with_capacity [function] [call site] 00428
4 Zip64File::seek [function] [call site] 00429
4 io::SeekFrom::Start [function] [call site] 00430
4 io::Result::is_err [function] [call site] 00431
4 ZipError::InvalidArchive [function] [call site] 00433
4 central_header_to_zip_file [function] [call site] 00434
4 AtomicU64::clone [function] [call site] 00436
4 ZipArchive::len [function] [call site] 00437
4 Zip64File::new [function] [call site] 00439
3 io::Cursor::new [function] [call site] 00441
3 ZipResult::expect [function] [call site] 00442
1 std::hint::black_box [function] [call site] 00445
1 std::hint::black_box [function] [call site] 00446