Handle scudo_ring_buffer_size = 0
Bug: 263287052
Change-Id: I0bec3a817d7a16c72d5dfeddd0dcc86830f5a311
diff --git a/debuggerd/libdebuggerd/scudo.cpp b/debuggerd/libdebuggerd/scudo.cpp
index 37e390b..5a62fe1 100644
--- a/debuggerd/libdebuggerd/scudo.cpp
+++ b/debuggerd/libdebuggerd/scudo.cpp
@@ -44,9 +44,12 @@
__scudo_get_stack_depot_size());
auto region_info = AllocAndReadFully(process_memory, process_info.scudo_region_info,
__scudo_get_region_info_size());
- auto ring_buffer = AllocAndReadFully(process_memory, process_info.scudo_ring_buffer,
- process_info.scudo_ring_buffer_size);
- if (!stack_depot || !region_info || !ring_buffer) {
+ std::unique_ptr<char[]> ring_buffer;
+ if (process_info.scudo_ring_buffer_size != 0) {
+ ring_buffer = AllocAndReadFully(process_memory, process_info.scudo_ring_buffer,
+ process_info.scudo_ring_buffer_size);
+ }
+ if (!stack_depot || !region_info) {
return;
}