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
23 29 lz4_flex::frame::FrameEncoder::with_frame_info call site: 00029 TrackWriteSize::write
8 14 SliceSink::extend_from_slice call site: 00014
7 80 FrameInfo::read call site: 00080
7 133 FrameInfo::read call site: 00133
6 210 FrameDecoder::read_block call site: 00210
5 0 EP call site: 00000
5 69 FrameInfo::read call site: 00069
5 122 FrameInfo::read call site: 00122
4 7 SliceSink::extend_from_slice_wild call site: 00007 short_copy
4 64 FrameInfo::read call site: 00064
4 149 FrameDecoder::read_frame_info call site: 00149
3 75 FrameInfo::read call site: 00075

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
2 CompressTable::Small [function] [call site] 00017
2 HashTable4KU16::new [function] [call site] 00018
3 into_boxed_slice [function] [call site] 00019
1 lz4_flex::frame::FrameEncoder::with_frame_info [function] [call site] 00022
2 TrackWriteSize::new [function] [call site] 00023
2 HashTable4K::new [function] [call site] 00024
3 into_boxed_slice [function] [call site] 00025
2 XxHash32::with_seed [function] [call site] 00028
2 TrackWriteSize::new [function] [call site] 00029
1 Vec::with_capacity [function] [call site] 00030
1 TrackWriteSize::write [function] [call site] 00032
2 TrackWriteSize::write [function] [call site] 00033
3 TrackWriteSize::write [function] [call site] 00034
1 io::Result::unwrap [function] [call site] 00037
1 TrackWriteSize::flush [function] [call site] 00038
2 TrackWriteSize::flush [function] [call site] 00039
3 TrackWriteSize::flush [function] [call site] 00040
1 io::Result::unwrap [function] [call site] 00041
1 FrameEncoder::auto_finish [function] [call site] 00042
1 AutoFinishEncoder::unwrap [function] [call site] 00044
1 TrackWriteSize::new [function] [call site] 00045
1 Self::resize [function] [call site] 00046
1 lz4_flex::frame::FrameDecoder::new [function] [call site] 00048
2 CompressTable::default [function] [call site] 00049
3 CompressTable::Small [function] [call site] 00050
3 HashTable4KU16::new [function] [call site] 00051
2 CompressTable::default [function] [call site] 00052
2 XxHash32::with_seed [function] [call site] 00053
1 FrameDecoder::read [function] [call site] 00054
2 std::cmp::min [function] [call site] 00055
2 io::Result::len [function] [call site] 00056
2 copy_from_slice [function] [call site] 00057
2 FrameDecoder::read_more [function] [call site] 00059
3 FrameDecoder::read_frame_info [function] [call site] 00061
4 FrameInfo::read [function] [call site] 00062
5 read_exact [function] [call site] 00063
5 u32::from_le_bytes [function] [call site] 00064
5 CompressTable::default [function] [call site] 00066
6 CompressTable::Small [function] [call site] 00067
6 HashTable4KU16::new [function] [call site] 00068
5 read_exact [function] [call site] 00070
5 u32::from_le_bytes [function] [call site] 00071
5 Error::SkippableFrame [function] [call site] 00073
5 read_exact [function] [call site] 00075
5 Error::UnsupportedVersion [function] [call site] 00077
5 Error::UnsupportedBlocksize [function] [call site] 00080
5 read_exact [function] [call site] 00081
5 u64::from_le_bytes [function] [call site] 00084
5 read_exact [function] [call site] 00085
5 u32::from_le_bytes [function] [call site] 00087
5 read_exact [function] [call site] 00088
5 XxHash32::with_seed [function] [call site] 00089
5 TrackWriteSize::write [function] [call site] 00090
5 &[u8]::len [function] [call site] 00091
5 FrameEncoder::auto_finish [function] [call site] 00093
4 read_exact [function] [call site] 00098
4 u32::from_le_bytes [function] [call site] 00099
4 FrameInfo::read [function] [call site] 00102
4 read_exact [function] [call site] 00104
4 read_exact [function] [call site] 00116
4 FrameInfo::read [function] [call site] 00117
5 read_exact [function] [call site] 00118
5 u32::from_le_bytes [function] [call site] 00119
5 CompressTable::default [function] [call site] 00121
5 read_exact [function] [call site] 00123
5 u32::from_le_bytes [function] [call site] 00124
5 Error::SkippableFrame [function] [call site] 00126
5 read_exact [function] [call site] 00128
5 Error::UnsupportedVersion [function] [call site] 00130
5 Error::UnsupportedBlocksize [function] [call site] 00133
5 read_exact [function] [call site] 00134
5 u64::from_le_bytes [function] [call site] 00137
5 read_exact [function] [call site] 00138
5 u32::from_le_bytes [function] [call site] 00140
5 read_exact [function] [call site] 00141
5 XxHash32::with_seed [function] [call site] 00142
5 TrackWriteSize::write [function] [call site] 00143
5 &[u8]::len [function] [call site] 00144
5 FrameEncoder::auto_finish [function] [call site] 00146
4 compress_into [function] [call site] 00151
5 compress_into_sink_with_dict::<false> [function] [call site] 00152
5 SliceSink::new [function] [call site] 00153
4 BlockSize::get_size [function] [call site] 00154
4 HashTable4KU16::clear [function] [call site] 00155
5 SliceSink::extend_with_fill [function] [call site] 00156
6 SliceSink::extend_with_fill [function] [call site] 00157
4 HashTable4KU16::clear [function] [call site] 00158
4 reserve_exact [function] [call site] 00159
4 reserve_exact [function] [call site] 00160
4 XxHash32::with_seed [function] [call site] 00162
3 FrameDecoder::read_block [function] [call site] 00165
4 BlockSize::get_size [function] [call site] 00168
4 SliceSink::capacity [function] [call site] 00169
4 read_exact [function] [call site] 00172
4 BlockInfo::read [function] [call site] 00176
5 read_exact [function] [call site] 00177
5 u32::from_le_bytes [function] [call site] 00178
5 BlockInfo::Uncompressed [function] [call site] 00181
5 BlockInfo::Compressed [function] [call site] 00183
4 compress_into [function] [call site] 00185
4 read_exact [function] [call site] 00186
4 vec_resize_and_get_mut [function] [call site] 00187
5 &mut [call site] 00188
5 &mut [call site] 00189
4 FrameDecoder::read_checksum [function] [call site] 00190
5 size_of::<u32> [function] [call site] 00191
5 Vec::read_exact [function] [call site] 00192
5 u32::from_le_bytes [function] [call site] 00193
4 FrameDecoder::check_block_checksum [function] [call site] 00195
5 XxHash32::with_seed [function] [call site] 00196
5 TrackWriteSize::write [function] [call site] 00197
5 FrameEncoder::auto_finish [function] [call site] 00198
5 compress_into [function] [call site] 00200
4 compress_into [function] [call site] 00203
4 read_exact [function] [call site] 00204
4 vec_resize_and_get_mut [function] [call site] 00205
4 FrameDecoder::read_checksum [function] [call site] 00206
4 FrameDecoder::check_block_checksum [function] [call site] 00207
4 split_at_mut [function] [call site] 00208
4 crate::block::decompress::decompress_internal::<true, [call site] 00209
4 SliceSink::new [function] [call site] 00210
4 crate::block::decompress::decompress_internal::<false, [call site] 00211
4 { [call site] 00212
0 block::WINDOW_SIZE, [call site] 00213
0 sink::vec_sink_for_decompression [function] [call site] 00214
5 impl [call site] 00215
5 SliceSink::new [function] [call site] 00216
4 compress_into [function] [call site] 00219
4 FrameDecoder::read_checksum [function] [call site] 00220
4 FrameEncoder::auto_finish [function] [call site] 00221
4 compress_into [function] [call site] 00223
4 TrackWriteSize::write [function] [call site] 00225
2 Ok [function] [call site] 00227
1 io::Result::unwrap [function] [call site] 00228
1 Self::truncate [function] [call site] 00229