Skip to content

Commit 6546124

Browse files
authored
[lldb] Fix uninitialized memory access. (llvm#150544)
lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump64b.py fails under msan with uninitialized memory access errors. The problem is that a few structs are written to the dump without having been fully initialized. This change makes them default-initialized so dumping the fields that aren't explicitly written to won't trigger UB.
1 parent 8b54dbe commit 6546124

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ Status MinidumpFileBuilder::AddSystemInfo() {
201201
return error;
202202
};
203203

204-
llvm::minidump::SystemInfo sys_info;
204+
llvm::minidump::SystemInfo sys_info{};
205205
sys_info.ProcessorArch =
206206
static_cast<llvm::support::little_t<ProcessorArchitecture>>(arch);
207207
// Global offset to beginning of a csd_string in a data section
@@ -378,7 +378,7 @@ Status MinidumpFileBuilder::AddModuleList() {
378378
helper_data.AppendData(&signature, sizeof(llvm::support::ulittle32_t));
379379
helper_data.AppendData(uuid.begin(), uuid.size());
380380

381-
llvm::minidump::Module m;
381+
llvm::minidump::Module m{};
382382
m.BaseOfImage = static_cast<llvm::support::ulittle64_t>(
383383
mod->GetObjectFile()->GetBaseAddress().GetLoadAddress(&target));
384384
m.SizeOfImage = static_cast<llvm::support::ulittle32_t>(mod_size);
@@ -745,7 +745,7 @@ lldb_private::Status MinidumpFileBuilder::AddMiscInfo() {
745745
if (error.Fail())
746746
return error;
747747

748-
lldb_private::minidump::MinidumpMiscInfo misc_info;
748+
lldb_private::minidump::MinidumpMiscInfo misc_info{};
749749
misc_info.size = static_cast<llvm::support::ulittle32_t>(
750750
sizeof(lldb_private::minidump::MinidumpMiscInfo));
751751
// Default set flags1 to 0, in case that we will not be able to

0 commit comments

Comments
 (0)