From afa9a63059b47544a410b4fbd651041dc798e267 Mon Sep 17 00:00:00 2001 From: Josh Ferrell Date: Thu, 27 Jun 2024 15:39:08 -0400 Subject: Fix crash when parsing DWARF with terminating FDE in .eh_frame --- rust/examples/dwarf/dwarf_import/src/lib.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'rust/examples') diff --git a/rust/examples/dwarf/dwarf_import/src/lib.rs b/rust/examples/dwarf/dwarf_import/src/lib.rs index 1b6420a2..63f5142f 100644 --- a/rust/examples/dwarf/dwarf_import/src/lib.rs +++ b/rust/examples/dwarf/dwarf_import/src/lib.rs @@ -287,6 +287,12 @@ fn parse_eh_frame( continue; } }; + + if fde.len() == 0 { + // This FDE is a terminator + return Ok(cie_data_offsets); + } + // Store CIE offset for FDE range cie_data_offsets.insert( fde.initial_address()..fde.initial_address()+fde.len(), -- cgit v1.3.1