소스 검색

ProfileViewer: Don't crash when we can't disassemble something

Andreas Kling 5 년 전
부모
커밋
dccfff8c19
1개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 6 0
      DevTools/ProfileViewer/DisassemblyModel.cpp

+ 6 - 0
DevTools/ProfileViewer/DisassemblyModel.cpp

@@ -55,9 +55,15 @@ DisassemblyModel::DisassemblyModel(Profile& profile, ProfileNode& node)
     , m_node(node)
 {
     m_file = make<MappedFile>(profile.executable_path());
+
+    if (!m_file->is_valid())
+        return;
+
     auto elf_loader = make<ELF::Loader>((const u8*)m_file->data(), m_file->size());
 
     auto symbol = elf_loader->find_symbol(node.address());
+    if (!symbol.has_value())
+        return;
     ASSERT(symbol.has_value());
 
     auto view = symbol.value().raw_data();