@@ -241,7 +241,10 @@ pub fn parse_elf_header(elf_data: &[u8]) -> Result<ELFHeader, StructureError> {
241
241
( 219 , "CSR Kalimba architecture family" ) ,
242
242
( 220 , "Zilog Z80" ) ,
243
243
( 221 , "Controls and Data Services VISIUMcore processor" ) ,
244
- ( 222 , "FTDI Chip FT32 high performance 32-bit RISC architecture" ) ,
244
+ (
245
+ 222 ,
246
+ "FTDI Chip FT32 high performance 32-bit RISC architecture" ,
247
+ ) ,
245
248
( 223 , "Moxie processor family" ) ,
246
249
( 224 , "AMD GPU architecture" ) ,
247
250
( 243 , "RISC-V" ) ,
@@ -296,11 +299,14 @@ pub fn parse_elf_header(elf_data: &[u8]) -> Result<ELFHeader, StructureError> {
296
299
// Sanity check the remaining ELF header fields
297
300
if elf_info[ "version" ] == EXPECTED_VERSION
298
301
&& elf_types. contains_key ( & elf_info[ "type" ] )
299
- && elf_machines. contains_key ( & elf_info[ "machine" ] )
300
302
{
301
303
// Set the ELF info fields
302
304
elf_hdr_info. exe_type = elf_types[ & elf_info[ "type" ] ] . to_string ( ) ;
303
- elf_hdr_info. machine = elf_machines[ & elf_info[ "machine" ] ] . to_string ( ) ;
305
+ elf_hdr_info. machine = elf_machines
306
+ . get ( & elf_info[ "machine" ] )
307
+ // Use 'Unknown' as a fallback for the machine type
308
+ . unwrap_or ( & "Unknown" )
309
+ . to_string ( ) ;
304
310
305
311
return Ok ( elf_hdr_info) ;
306
312
}
0 commit comments