From 08f8da2feacc01c7de90f9740bfcabcadd01da12 Mon Sep 17 00:00:00 2001 From: georgemoralis Date: Sun, 14 May 2023 17:43:45 +0300 Subject: [PATCH] elfviewer : don't display section header if they don't exist (seems like commercial games doesn't have section headers) --- src/GUI/ElfViewer.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/GUI/ElfViewer.cpp b/src/GUI/ElfViewer.cpp index 5da8ee31..e698d853 100644 --- a/src/GUI/ElfViewer.cpp +++ b/src/GUI/ElfViewer.cpp @@ -47,14 +47,14 @@ void ElfViewer::display(bool enabled) } if (ImGui::TreeNode("Elf")) { + const auto* elf_header = elf->GetElfHeader(); if (ImGui::TreeNodeEx("Elf Header", ImGuiTreeNodeFlags_Leaf | ImGuiTreeNodeFlags_NoTreePushOnOpen, "Elf Header")) { if (ImGui::IsItemClicked()) selected = ELF_HEADER; } if (ImGui::TreeNode("Elf Program Headers")) - { - const auto* elf_header = elf->GetElfHeader(); + { for (u16 i = 0; i < elf_header->e_phnum; i++) { const auto* pheader = elf->GetProgramHeader(); @@ -67,9 +67,12 @@ void ElfViewer::display(bool enabled) } ImGui::TreePop(); } - if (ImGui::TreeNode("Elf Section Headers")) + if (elf_header->e_shnum != 0) { - ImGui::TreePop(); + if (ImGui::TreeNode("Elf Section Headers")) + { + ImGui::TreePop(); + } } ImGui::TreePop(); }