Fuzz introspector: fuzz_roundtrip_cpp_compress
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
117 0 EP call site: 00000 FrameDecoder::read_to_end
59 131 SliceSink::capacity call site: 00131 BlockInfo::read
12 118 SliceSink::extend_with_fill call site: 00118 FrameDecoder::read_block
7 199 io::Result::extend_from_slice call site: 00199
4 192 SliceSink::extend_from_slice_wild call site: 00192 short_copy

Fuzzer calltree

0 fuzz_target [function] [call site] 00000
1 TrackWriteSize::new [function] [call site] 00001
1 lzzzz::lz4::compress_to_vec [function] [call site] 00002
1 Self::is_empty [function] [call site] 00004
1 lz4_flex::decompress [function] [call site] 00005
2 lz4_flex::frame::FrameDecoder::new [function] [call site] 00006
3 CompressTable::default [function] [call site] 00007
4 CompressTable::Small [function] [call site] 00008
4 HashTable4KU16::new [function] [call site] 00009
5 into_boxed_slice [function] [call site] 00010
3 CompressTable::default [function] [call site] 00013
3 XxHash32::with_seed [function] [call site] 00014
2 TrackWriteSize::new [function] [call site] 00015
2 FrameDecoder::read_to_end [function] [call site] 00016
3 FrameDecoder::fill_buf [function] [call site] 00017
4 FrameDecoder::read_more [function] [call site] 00018
5 FrameDecoder::read_frame_info [function] [call site] 00020
6 FrameInfo::read [function] [call site] 00021
7 read_exact [function] [call site] 00022
7 u32::from_le_bytes [function] [call site] 00023
7 CompressTable::default [function] [call site] 00025
8 CompressTable::Small [function] [call site] 00026
8 HashTable4KU16::new [function] [call site] 00027
7 read_exact [function] [call site] 00029
7 u32::from_le_bytes [function] [call site] 00030
7 Error::SkippableFrame [function] [call site] 00032
7 read_exact [function] [call site] 00034
7 Error::UnsupportedVersion [function] [call site] 00036
7 Error::UnsupportedBlocksize [function] [call site] 00039
7 read_exact [function] [call site] 00040
7 u64::from_le_bytes [function] [call site] 00043
7 read_exact [function] [call site] 00044
7 u32::from_le_bytes [function] [call site] 00046
7 read_exact [function] [call site] 00047
7 XxHash32::with_seed [function] [call site] 00048
7 TrackWriteSize::write [function] [call site] 00049
8 TrackWriteSize::write [function] [call site] 00050
7 &[u8]::len [function] [call site] 00052
7 FrameEncoder::auto_finish [function] [call site] 00054
6 read_exact [function] [call site] 00059
6 u32::from_le_bytes [function] [call site] 00060
6 FrameInfo::read [function] [call site] 00063
6 read_exact [function] [call site] 00065
6 read_exact [function] [call site] 00077
6 FrameInfo::read [function] [call site] 00078
7 read_exact [function] [call site] 00079
7 u32::from_le_bytes [function] [call site] 00080
7 CompressTable::default [function] [call site] 00082
7 read_exact [function] [call site] 00084
7 u32::from_le_bytes [function] [call site] 00085
7 Error::SkippableFrame [function] [call site] 00087
7 read_exact [function] [call site] 00089
7 Error::UnsupportedVersion [function] [call site] 00091
7 Error::UnsupportedBlocksize [function] [call site] 00094
7 read_exact [function] [call site] 00095
7 u64::from_le_bytes [function] [call site] 00098
7 read_exact [function] [call site] 00099
7 u32::from_le_bytes [function] [call site] 00101
7 read_exact [function] [call site] 00102
7 XxHash32::with_seed [function] [call site] 00103
7 TrackWriteSize::write [function] [call site] 00104
7 &[u8]::len [function] [call site] 00105
7 FrameEncoder::auto_finish [function] [call site] 00107
6 compress_into [function] [call site] 00112
7 compress_into_sink_with_dict::<false> [function] [call site] 00113
7 SliceSink::new [function] [call site] 00114
6 BlockSize::get_size [function] [call site] 00115
6 HashTable4KU16::clear [function] [call site] 00116
7 SliceSink::extend_with_fill [function] [call site] 00117
8 SliceSink::extend_with_fill [function] [call site] 00118
6 HashTable4KU16::clear [function] [call site] 00119
6 reserve_exact [function] [call site] 00120
6 reserve_exact [function] [call site] 00121
6 XxHash32::with_seed [function] [call site] 00123
5 FrameDecoder::read_block [function] [call site] 00126
6 BlockSize::get_size [function] [call site] 00129
6 SliceSink::capacity [function] [call site] 00130
6 read_exact [function] [call site] 00133
6 BlockInfo::read [function] [call site] 00137
7 read_exact [function] [call site] 00138
7 u32::from_le_bytes [function] [call site] 00139
7 BlockInfo::Uncompressed [function] [call site] 00142
7 BlockInfo::Compressed [function] [call site] 00144
6 compress_into [function] [call site] 00146
6 read_exact [function] [call site] 00147
6 vec_resize_and_get_mut [function] [call site] 00148
7 &mut [call site] 00149
7 &mut [call site] 00150
6 FrameDecoder::read_checksum [function] [call site] 00151
7 size_of::<u32> [function] [call site] 00152
7 Vec::read_exact [function] [call site] 00153
7 u32::from_le_bytes [function] [call site] 00154
6 FrameDecoder::check_block_checksum [function] [call site] 00156
7 XxHash32::with_seed [function] [call site] 00157
7 TrackWriteSize::write [function] [call site] 00158
7 FrameEncoder::auto_finish [function] [call site] 00159
7 compress_into [function] [call site] 00161
6 compress_into [function] [call site] 00164
6 read_exact [function] [call site] 00165
6 vec_resize_and_get_mut [function] [call site] 00166
6 FrameDecoder::read_checksum [function] [call site] 00167
6 FrameDecoder::check_block_checksum [function] [call site] 00168
6 split_at_mut [function] [call site] 00169
6 crate::block::decompress::decompress_internal::<true, [call site] 00170
6 SliceSink::new [function] [call site] 00171
6 crate::block::decompress::decompress_internal::<false, [call site] 00172
6 { [call site] 00173
0 block::WINDOW_SIZE, [call site] 00174
0 sink::vec_sink_for_decompression [function] [call site] 00175
7 impl [call site] 00176
7 SliceSink::new [function] [call site] 00177
6 compress_into [function] [call site] 00180
6 FrameDecoder::read_checksum [function] [call site] 00181
6 FrameEncoder::auto_finish [function] [call site] 00182
6 compress_into [function] [call site] 00184
6 TrackWriteSize::write [function] [call site] 00186
4 Ok [function] [call site] 00188
3 Ok [function] [call site] 00189
3 io::Result::extend_from_slice [function] [call site] 00190
4 SliceSink::extend_from_slice_wild [function] [call site] 00191
5 fastcpy::slice_copy [function] [call site] 00192
6 short_copy [function] [call site] 00193
7 double_copy_trick::<2> [function] [call site] 00194
6 double_copy_trick::<4> [function] [call site] 00195
6 double_copy_trick::<8> [function] [call site] 00196
6 wild_copy_from_src::<16> [function] [call site] 00197
5 &[u8]::len [function] [call site] 00198
4 &[u8]::len [function] [call site] 00199
3 len [function] [call site] 00200
3 FrameDecoder::consume [function] [call site] 00201
3 Result::kind [function] [call site] 00202
3 Err [function] [call site] 00203
2 Ok [function] [call site] 00204
1 len [function] [call site] 00205
1 Result::unwrap [function] [call site] 00206