From 2952c86f3859b579bdf53d1eb57c33775710d64b Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 27 May 2021 11:43:06 +0200 Subject: [PATCH] Profiler: Don't try to create a DisassemblyModel for invalid indices This fixes a null dereference when toggling the "top functions" mode while a top-level process node was selected. --- Userland/DevTools/Profiler/Profile.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Userland/DevTools/Profiler/Profile.cpp b/Userland/DevTools/Profiler/Profile.cpp index d48e18f6aa..2c5a9b65a3 100644 --- a/Userland/DevTools/Profiler/Profile.cpp +++ b/Userland/DevTools/Profiler/Profile.cpp @@ -465,7 +465,10 @@ void Profile::set_disassembly_index(const GUI::ModelIndex& index) return; m_disassembly_index = index; auto* node = static_cast(index.internal_data()); - m_disassembly_model = DisassemblyModel::create(*this, *node); + if (!node) + m_disassembly_model = nullptr; + else + m_disassembly_model = DisassemblyModel::create(*this, *node); } GUI::Model* Profile::disassembly_model()