https://github.com/oontvoo created https://github.com/llvm/llvm-project/pull/135763
None >From dd74c3abe3a69e6c3cc4b9c22a38ca09997848f7 Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Tue, 15 Apr 2025 04:42:30 -0400 Subject: [PATCH] [NFC][lldb]Fix stack-use-after-free bugs in exit-callbacks. --- lldb/source/Target/Process.cpp | 9 +++++---- lldb/source/Target/Target.cpp | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index 633f7488dc76a..73557eb767c72 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -1047,10 +1047,11 @@ bool Process::SetExitStatus(int status, llvm::StringRef exit_string) { info->exit_desc = {status, exit_string.str()}; }); - helper.DispatchOnExit([&](telemetry::ProcessExitInfo *info) { - info->module_uuid = module_uuid; - info->pid = m_pid; - }); + helper.DispatchOnExit( + [module_uuid, pid = m_pid](telemetry::ProcessExitInfo *info) { + info->module_uuid = module_uuid; + info->pid = pid; + }); m_exit_status = status; if (!exit_string.empty()) diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index 42b1561fb2993..b6186b76d6236 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -1578,7 +1578,7 @@ void Target::SetExecutableModule(ModuleSP &executable_sp, info->is_start_entry = true; }); - helper.DispatchOnExit([&](telemetry::ExecutableModuleInfo *info) { + helper.DispatchOnExit([&, pid](telemetry::ExecutableModuleInfo *info) { info->exec_mod = executable_sp; info->uuid = executable_sp->GetUUID(); info->pid = pid; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits