Handle scudo_stack_depot_size = 0

Bug: 309446692
Change-Id: Ic55294316137847041f1e829cb0243aae8926379
This commit is contained in:
Florian Mayer 2023-12-04 17:28:41 -08:00
parent e8fcfee409
commit 4841207b53

View file

@ -41,8 +41,6 @@ ScudoCrashData::ScudoCrashData(unwindstack::Memory* process_memory,
return;
}
auto stack_depot = AllocAndReadFully(process_memory, process_info.scudo_stack_depot,
process_info.scudo_stack_depot_size);
auto region_info = AllocAndReadFully(process_memory, process_info.scudo_region_info,
__scudo_get_region_info_size());
std::unique_ptr<char[]> ring_buffer;
@ -50,7 +48,12 @@ ScudoCrashData::ScudoCrashData(unwindstack::Memory* process_memory,
ring_buffer = AllocAndReadFully(process_memory, process_info.scudo_ring_buffer,
process_info.scudo_ring_buffer_size);
}
if (!stack_depot || !region_info) {
std::unique_ptr<char[]> stack_depot;
if (process_info.scudo_stack_depot_size != 0) {
stack_depot = AllocAndReadFully(process_memory, process_info.scudo_stack_depot,
process_info.scudo_stack_depot_size);
}
if (!region_info) {
return;
}