From 7e37537220a8acf00d8dd5c4424955382ee807cc Mon Sep 17 00:00:00 2001 From: Hongyu Chen Date: Mon, 30 Jun 2025 00:01:59 -0400 Subject: [PATCH] Added no export trie data detection. --- view/macho/machoview.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/view/macho/machoview.cpp b/view/macho/machoview.cpp index a58fd556c9..e4be6c7bf9 100644 --- a/view/macho/machoview.cpp +++ b/view/macho/machoview.cpp @@ -696,14 +696,18 @@ MachOHeader MachoView::HeaderForAddress(BinaryView* data, uint64_t address, bool header.dyldInfo.export_size = reader.Read32(); header.exportTrie.dataoff = header.dyldInfo.export_off; header.exportTrie.datasize = header.dyldInfo.export_size; - header.exportTriePresent = true; + // Only mark export trie as present if there's actually data + if (header.dyldInfo.export_off != 0 && header.dyldInfo.export_size != 0) + header.exportTriePresent = true; header.dyldInfoPresent = true; break; case LC_DYLD_EXPORTS_TRIE: m_logger->LogDebug("LC_DYLD_EXPORTS_TRIE\n"); header.exportTrie.dataoff = reader.Read32(); header.exportTrie.datasize = reader.Read32(); - header.exportTriePresent = true; + // Only mark export trie as present if there's actually data + if (header.exportTrie.dataoff != 0 && header.exportTrie.datasize != 0) + header.exportTriePresent = true; break; case LC_THREAD: case LC_UNIXTHREAD: