[Lldb-commits] [lldb] 81499ed - [NFC][lldb]Fix stack-use-after-free bugs in exit-callbacks. (#135763)
via lldb-commits
lldb-commits at lists.llvm.org
Tue Apr 15 02:40:11 PDT 2025
Author: Vy Nguyen
Date: 2025-04-15T11:40:07+02:00
New Revision: 81499edb30665d377a680990ef3c5129f9b54261
URL: https://github.com/llvm/llvm-project/commit/81499edb30665d377a680990ef3c5129f9b54261
DIFF: https://github.com/llvm/llvm-project/commit/81499edb30665d377a680990ef3c5129f9b54261.diff
LOG: [NFC][lldb]Fix stack-use-after-free bugs in exit-callbacks. (#135763)
Added:
Modified:
lldb/source/Target/Process.cpp
lldb/source/Target/Target.cpp
Removed:
################################################################################
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;
More information about the lldb-commits
mailing list