diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index c4f20d7d46565..84f7f576c702c 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -4297,9 +4297,8 @@ Process::HaltPrivate() thread_result_t Process::PrivateStateThread (void *arg) { - PrivateStateThreadArgs real_args = *static_cast (arg); - free (arg); - thread_result_t result = real_args.process->RunPrivateStateThread(real_args.is_secondary_thread); + std::unique_ptr args_up(static_cast(arg)); + thread_result_t result = args_up->process->RunPrivateStateThread(args_up->is_secondary_thread); return result; }