Fuzz introspector: eh_frame_hdr
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
36 70 AddrHeader::parse call site: 00070 read::skip
24 19 Reader::read_u32 call site: 00019 SubRange::read_slice
5 51 Endianity::read_u32 call site: 00051 Reader::read_u64
4 65 Endianity::read_u64 call site: 00065
3 116 Endianity::read_u16 call site: 00116
3 123 Reader::read_u8 call site: 00123
2 4 EhFrameHdr::new call site: 00004
2 108 Reader::read_u8 call site: 00108
2 129 Reader::read_u8 call site: 00129
2 135 AddrHeader::parse call site: 00135 Reader::read_u8
2 138 AddrHeader::parse call site: 00138
1 0 EP call site: 00000

Fuzzer calltree

0 fuzz_target [function] [call site] 00000
1 EhFrameHdr::new [function] [call site] 00001
2 DebugFrameOffset::from [function] [call site] 00002
3 DebugFrameOffset [function] [call site] 00003
2 EndianSlice::new [function] [call site] 00004
1 LineEncoding::default [function] [call site] 00005
1 BaseAddresses::set_eh_frame [function] [call site] 00006
1 BaseAddresses::set_eh_frame_hdr [function] [call site] 00008
1 BaseAddresses::set_text [function] [call site] 00011
1 BaseAddresses::set_got [function] [call site] 00014
1 AddrHeader::parse [function] [call site] 00016
2 Reader::read_initial_length [function] [call site] 00017
3 Reader::read_u32 [function] [call site] 00018
4 Reader::read_u8_array [function] [call site] 00019
5 LineEncoding::default [function] [call site] 00020
5 EndianReader::read_slice [function] [call site] 00021
6 SubRange::read_slice [function] [call site] 00022
7 SubRange::len [function] [call site] 00023
7 slice::from_raw_parts [function] [call site] 00024
7 SubRange::skip [function] [call site] 00025
8 AbbreviationTable::add [function] [call site] 00026
9 insert_full [function] [call site] 00027
6 EndianVec::len [function] [call site] 00029
7 EndianVec::len [function] [call site] 00030
8 EndianVec::len [function] [call site] 00031
6 Vec::copy_from_slice [function] [call site] 00032
6 Error::UnexpectedEof [function] [call site] 00035
6 EndianReader::offset_id [function] [call site] 00036
7 read::ReaderOffsetId [function] [call site] 00037
7 EndianReader::bytes [function] [call site] 00038
8 SubRange::bytes [function] [call site] 00039
9 slice::from_raw_parts [function] [call site] 00040
7 &[u8]::as_ptr [function] [call site] 00041
5 <A [call site] 00042
4 EndianReader::endian [function] [call site] 00045
4 Endianity::read_u32 [function] [call site] 00046
5 RunTimeEndian::is_big_endian [function] [call site] 00049
5 u32::from_be_bytes [function] [call site] 00050
5 u32::from_le_bytes [function] [call site] 00051
3 Self::Offset::from_u32 [function] [call site] 00053
4 DebugFrameOffset::from [function] [call site] 00054
5 DebugFrameOffset [function] [call site] 00055
3 Reader::read_u64 [function] [call site] 00056
4 Reader::read_u8_array [function] [call site] 00057
4 EndianReader::endian [function] [call site] 00059
4 Endianity::read_u64 [function] [call site] 00060
5 RunTimeEndian::is_big_endian [function] [call site] 00063
5 u64::from_be_bytes [function] [call site] 00064
5 u64::from_le_bytes [function] [call site] 00065
3 Result::and_then [function] [call site] 00066
3 Error::UnknownReservedLength [function] [call site] 00069
2 EndianReader::split [function] [call site] 00070
3 EndianReader::len [function] [call site] 00071
4 EndianVec::len [function] [call site] 00072
3 Error::UnexpectedEof [function] [call site] 00074
3 EndianReader::offset_id [function] [call site] 00075
3 ArrayVec::clone [function] [call site] 00076
4 LineEncoding::default [function] [call site] 00077
4 ArrayVec::try_push [function] [call site] 00078
5 [T; [call site] 00079
5 Self::Storage::len [function] [call site] 00080
6 EndianVec::len [function] [call site] 00081
5 Vec::grow [function] [call site] 00082
6 core::mem::replace [function] [call site] 00083
6 Expression::new [function] [call site] 00084
7 LineEncoding::default [function] [call site] 00085
6 DebugFrameOffset::into [function] [call site] 00086
6 Unit::reserve [function] [call site] 00087
7 Expression::new [function] [call site] 00088
8 LineEncoding::default [function] [call site] 00089
6 Vec::set_len [function] [call site] 00090
6 Vec::capacity [function] [call site] 00091
6 Vec::into_boxed_slice [function] [call site] 00092
5 [T; [call site] 00094
5 Expression::new [function] [call site] 00095
6 LineEncoding::default [function] [call site] 00096
4 ArrayVec::clone [function] [call site] 00098
5 LineEncoding::default [function] [call site] 00099
5 ArrayVec::try_push [function] [call site] 00100
5 ArrayVec::clone [function] [call site] 00101
5 Result::unwrap [function] [call site] 00102
4 Result::unwrap [function] [call site] 00103
3 SubRange::truncate [function] [call site] 00104
3 read::skip [function] [call site] 00105
4 Reader::read_u8 [function] [call site] 00106
5 Reader::read_u8_array [function] [call site] 00107
2 Endianity::read_u16 [function] [call site] 00111
3 RunTimeEndian::is_big_endian [function] [call site] 00114
3 u16::from_be_bytes [function] [call site] 00115
3 u16::from_le_bytes [function] [call site] 00116
2 Error::UnknownVersion [function] [call site] 00118
2 DebugFrameOffset::from [function] [call site] 00119
2 Reader::read_address_size [function] [call site] 00120
3 Reader::read_u8 [function] [call site] 00121
4 Reader::read_u8_array [function] [call site] 00122
3 Error::UnsupportedAddressSize [function] [call site] 00126
2 Reader::read_u8 [function] [call site] 00127
3 Reader::read_u8_array [function] [call site] 00128
2 Error::UnsupportedSegmentSize [function] [call site] 00131
2 Format::initial_length_size [function] [call site] 00132
2 Error::UnsupportedAddressSize [function] [call site] 00134
2 R::Offset::from_u8 [function] [call site] 00138
3 DebugFrameOffset::from [function] [call site] 00139