From a88fd7c8476d1e62fe50aba43d0114c5e69e676d Mon Sep 17 00:00:00 2001 From: Philip Craig Date: Wed, 22 Jun 2022 00:00:00 +0000 Subject: [PATCH] read/elf: handle empty symbol tables (#443) Return `None` from `ElfFile::symbol_table` and `ElfFile::dynamic_symbol_table` if the tables are empty. --- src/read/elf/file.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/read/elf/file.rs b/src/read/elf/file.rs index a0e1baad..e1f76a38 100644 --- a/src/read/elf/file.rs +++ b/src/read/elf/file.rs @@ -264,6 +264,9 @@ where } fn symbol_table(&'file self) -> Option> { + if self.symbols.is_empty() { + return None; + } Some(ElfSymbolTable { endian: self.endian, symbols: &self.symbols, @@ -279,6 +282,9 @@ where } fn dynamic_symbol_table(&'file self) -> Option> { + if self.dynamic_symbols.is_empty() { + return None; + } Some(ElfSymbolTable { endian: self.endian, symbols: &self.dynamic_symbols,