Fuzz introspector: fuzz_roundtrip_frame
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
21 24 lz4_flex::frame::FrameEncoder::with_frame_info call site: 00024 TrackWriteSize::write
7 71 FrameInfo::read call site: 00071
7 124 FrameInfo::read call site: 00124
6 201 FrameDecoder::read_block call site: 00201
5 0 EP call site: 00000
5 60 FrameInfo::read call site: 00060
5 113 FrameInfo::read call site: 00113
4 7 SliceSink::extend_from_slice_wild call site: 00007 short_copy
4 140 FrameDecoder::read_frame_info call site: 00140
3 14 SliceSink::extend_from_slice call site: 00014
3 66 FrameInfo::read call site: 00066
3 119 FrameInfo::read call site: 00119

Fuzzer calltree

0 fuzz_target [function] [call site] 00000
1 Vec::with_capacity [function] [call site] 00003
1 SliceSink::extend_from_slice [function] [call site] 00005
2 SliceSink::extend_from_slice_wild [function] [call site] 00006
3 fastcpy::slice_copy [function] [call site] 00007
4 short_copy [function] [call site] 00008
5 double_copy_trick::<2> [function] [call site] 00009
4 double_copy_trick::<4> [function] [call site] 00010
4 double_copy_trick::<8> [function] [call site] 00011
4 wild_copy_from_src::<16> [function] [call site] 00012
3 &[u8]::len [function] [call site] 00013
2 &[u8]::len [function] [call site] 00014
1 lz4_flex::frame::FrameInfo::default [function] [call site] 00016
1 lz4_flex::frame::FrameEncoder::with_frame_info [function] [call site] 00017
2 TrackWriteSize::new [function] [call site] 00018
2 HashTable4K::new [function] [call site] 00019
3 into_boxed_slice [function] [call site] 00020
2 XxHash32::with_seed [function] [call site] 00023
2 TrackWriteSize::new [function] [call site] 00024
1 Vec::with_capacity [function] [call site] 00025
1 TrackWriteSize::write [function] [call site] 00027
2 TrackWriteSize::write [function] [call site] 00028
3 TrackWriteSize::write [function] [call site] 00029
1 io::Result::unwrap [function] [call site] 00032
1 TrackWriteSize::flush [function] [call site] 00033
2 TrackWriteSize::flush [function] [call site] 00034
3 TrackWriteSize::flush [function] [call site] 00035
1 io::Result::unwrap [function] [call site] 00036
1 FrameEncoder::auto_finish [function] [call site] 00037
1 AutoFinishEncoder::unwrap [function] [call site] 00039
1 TrackWriteSize::new [function] [call site] 00040
1 Self::resize [function] [call site] 00041
1 lz4_flex::frame::FrameDecoder::new [function] [call site] 00043
2 Default::default [function] [call site] 00044
2 Default::default [function] [call site] 00045
2 XxHash32::with_seed [function] [call site] 00046
1 FrameDecoder::read [function] [call site] 00047
2 std::cmp::min [function] [call site] 00048
2 io::Result::len [function] [call site] 00049
2 copy_from_slice [function] [call site] 00050
2 FrameDecoder::read_more [function] [call site] 00052
3 FrameDecoder::read_frame_info [function] [call site] 00054
4 FrameInfo::read [function] [call site] 00055
5 &[u8]::read_exact [function] [call site] 00056
5 u32::from_le_bytes [function] [call site] 00057
5 FrameInfo::default [function] [call site] 00059
5 &[u8]::read_exact [function] [call site] 00061
5 u32::from_le_bytes [function] [call site] 00062
5 Error::SkippableFrame [function] [call site] 00064
5 &[u8]::read_exact [function] [call site] 00066
5 Error::UnsupportedVersion [function] [call site] 00068
5 Error::UnsupportedBlocksize [function] [call site] 00071
5 &[u8]::read_exact [function] [call site] 00072
5 u64::from_le_bytes [function] [call site] 00075
5 &[u8]::read_exact [function] [call site] 00076
5 u32::from_le_bytes [function] [call site] 00078
5 &[u8]::read_exact [function] [call site] 00079
5 XxHash32::with_seed [function] [call site] 00080
5 TrackWriteSize::write [function] [call site] 00081
5 &[u8]::len [function] [call site] 00082
5 &[u8]::len [function] [call site] 00083
5 FrameEncoder::auto_finish [function] [call site] 00084
4 read_exact [function] [call site] 00089
4 u32::from_le_bytes [function] [call site] 00090
4 FrameInfo::read [function] [call site] 00093
4 read_exact [function] [call site] 00095
4 read_exact [function] [call site] 00107
4 FrameInfo::read [function] [call site] 00108
5 &[u8]::read_exact [function] [call site] 00109
5 u32::from_le_bytes [function] [call site] 00110
5 FrameInfo::default [function] [call site] 00112
5 &[u8]::read_exact [function] [call site] 00114
5 u32::from_le_bytes [function] [call site] 00115
5 Error::SkippableFrame [function] [call site] 00117
5 &[u8]::read_exact [function] [call site] 00119
5 Error::UnsupportedVersion [function] [call site] 00121
5 Error::UnsupportedBlocksize [function] [call site] 00124
5 &[u8]::read_exact [function] [call site] 00125
5 u64::from_le_bytes [function] [call site] 00128
5 &[u8]::read_exact [function] [call site] 00129
5 u32::from_le_bytes [function] [call site] 00131
5 &[u8]::read_exact [function] [call site] 00132
5 XxHash32::with_seed [function] [call site] 00133
5 TrackWriteSize::write [function] [call site] 00134
5 &[u8]::len [function] [call site] 00135
5 &[u8]::len [function] [call site] 00136
5 FrameEncoder::auto_finish [function] [call site] 00137
4 compress_into [function] [call site] 00142
5 compress_into_sink_with_dict::<false> [function] [call site] 00143
5 SliceSink::new [function] [call site] 00144
4 BlockSize::get_size [function] [call site] 00145
4 HashTable4KU16::clear [function] [call site] 00146
5 SliceSink::extend_with_fill [function] [call site] 00147
6 SliceSink::extend_with_fill [function] [call site] 00148
4 HashTable4KU16::clear [function] [call site] 00149
4 reserve_exact [function] [call site] 00150
4 reserve_exact [function] [call site] 00151
4 XxHash32::with_seed [function] [call site] 00153
3 FrameDecoder::read_block [function] [call site] 00156
4 BlockSize::get_size [function] [call site] 00159
4 SliceSink::capacity [function] [call site] 00160
4 read_exact [function] [call site] 00163
4 BlockInfo::read [function] [call site] 00167
5 &[u8]::read_exact [function] [call site] 00168
5 u32::from_le_bytes [function] [call site] 00169
5 BlockInfo::Uncompressed [function] [call site] 00172
5 BlockInfo::Compressed [function] [call site] 00174
4 compress_into [function] [call site] 00176
4 read_exact [function] [call site] 00177
4 vec_resize_and_get_mut [function] [call site] 00178
5 &mut [call site] 00179
5 &mut [call site] 00180
4 FrameDecoder::read_checksum [function] [call site] 00181
5 size_of::<u32> [function] [call site] 00182
5 Vec::read_exact [function] [call site] 00183
5 u32::from_le_bytes [function] [call site] 00184
4 FrameDecoder::check_block_checksum [function] [call site] 00186
5 XxHash32::with_seed [function] [call site] 00187
5 TrackWriteSize::write [function] [call site] 00188
5 FrameEncoder::auto_finish [function] [call site] 00189
5 compress_into [function] [call site] 00191
4 compress_into [function] [call site] 00194
4 read_exact [function] [call site] 00195
4 vec_resize_and_get_mut [function] [call site] 00196
4 FrameDecoder::read_checksum [function] [call site] 00197
4 FrameDecoder::check_block_checksum [function] [call site] 00198
4 split_at_mut [function] [call site] 00199
4 crate::block::decompress::decompress_internal::<true, [call site] 00200
4 SliceSink::new [function] [call site] 00201
4 crate::block::decompress::decompress_internal::<false, [call site] 00202
4 { [call site] 00203
0 block::WINDOW_SIZE, [call site] 00204
0 sink::vec_sink_for_decompression [function] [call site] 00205
5 impl [call site] 00206
5 SliceSink::new [function] [call site] 00207
4 compress_into [function] [call site] 00210
4 FrameDecoder::read_checksum [function] [call site] 00211
4 FrameEncoder::auto_finish [function] [call site] 00212
4 compress_into [function] [call site] 00214
4 TrackWriteSize::write [function] [call site] 00216
2 Ok [function] [call site] 00218
1 io::Result::unwrap [function] [call site] 00219
1 Self::truncate [function] [call site] 00220