https://github.com/augusto2112 created https://github.com/llvm/llvm-project/pull/155006
Add a missing null check pointed out in the previous PR review, and actually use the SharedModuleList class, which was introduced but unused. >From 234e075c1dbdaacd2e1b4199ae983f5c4439223c Mon Sep 17 00:00:00 2001 From: Augusto Noronha <anoro...@apple.com> Date: Fri, 22 Aug 2025 11:18:23 -0700 Subject: [PATCH] [NFC][lldb] Add a null check, actually use new SharedModuleList class Add a missing null check pointed out in the previous PR review, and actually use the SharedModuleList class, which was introduced but unused. --- lldb/source/Core/ModuleList.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp index bc63a41c90d17..060732f421f88 100644 --- a/lldb/source/Core/ModuleList.cpp +++ b/lldb/source/Core/ModuleList.cpp @@ -844,6 +844,8 @@ class SharedModuleList { } bool RemoveIfOrphaned(const Module *module_ptr) { + if (!module_ptr) + return false; std::lock_guard<std::recursive_mutex> guard(GetMutex()); RemoveFromMap(*module_ptr, /*if_orphaned=*/true); return m_list.RemoveIfOrphaned(module_ptr); @@ -980,7 +982,7 @@ class SharedModuleList { }; struct SharedModuleListInfo { - ModuleList module_list; + SharedModuleList module_list; ModuleListProperties module_list_properties; }; } @@ -998,7 +1000,7 @@ static SharedModuleListInfo &GetSharedModuleListInfo() return *g_shared_module_list_info; } -static ModuleList &GetSharedModuleList() { +static SharedModuleList &GetSharedModuleList() { return GetSharedModuleListInfo().module_list; } @@ -1008,8 +1010,8 @@ ModuleListProperties &ModuleList::GetGlobalModuleListProperties() { bool ModuleList::ModuleIsInCache(const Module *module_ptr) { if (module_ptr) { - ModuleList &shared_module_list = GetSharedModuleList(); - return shared_module_list.FindModule(module_ptr).get() != nullptr; + SharedModuleList &shared_module_list = GetSharedModuleList(); + return shared_module_list.FindModule(*module_ptr).get() != nullptr; } return false; } @@ -1032,9 +1034,8 @@ ModuleList::GetSharedModule(const ModuleSpec &module_spec, ModuleSP &module_sp, const FileSpecList *module_search_paths_ptr, llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules, bool *did_create_ptr, bool always_create) { - ModuleList &shared_module_list = GetSharedModuleList(); - std::lock_guard<std::recursive_mutex> guard( - shared_module_list.m_modules_mutex); + SharedModuleList &shared_module_list = GetSharedModuleList(); + std::lock_guard<std::recursive_mutex> guard(shared_module_list.GetMutex()); char path[PATH_MAX]; Status error; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits