diff --git a/libc/malloc_debug/PointerData.cpp b/libc/malloc_debug/PointerData.cpp
index 4f81ff7..90c9136 100644
--- a/libc/malloc_debug/PointerData.cpp
+++ b/libc/malloc_debug/PointerData.cpp
@@ -588,8 +588,8 @@
       dprintf(fd, "  bt_info");
       for (const auto& frame : *info.backtrace_info) {
         dprintf(fd, " {");
-        if (frame.map_info != nullptr && !frame.map_info->name.empty()) {
-          dprintf(fd, "\"%s\"", frame.map_info->name.c_str());
+        if (frame.map_info != nullptr && !frame.map_info->name().empty()) {
+          dprintf(fd, "\"%s\"", frame.map_info->name().c_str());
         } else {
           dprintf(fd, "\"\"");
         }
diff --git a/libc/malloc_debug/UnwindBacktrace.cpp b/libc/malloc_debug/UnwindBacktrace.cpp
index 92fb3fa..128991b 100644
--- a/libc/malloc_debug/UnwindBacktrace.cpp
+++ b/libc/malloc_debug/UnwindBacktrace.cpp
@@ -90,14 +90,14 @@
     unwindstack::MapInfo* map_info = info->map_info;
 
     std::string line = android::base::StringPrintf("          #%0zd  pc %" PAD_PTR "  ", i, info->rel_pc);
-    if (map_info->offset != 0) {
-      line += android::base::StringPrintf("(offset 0x%" PRIx64 ") ", map_info->offset);
+    if (map_info->offset() != 0) {
+      line += android::base::StringPrintf("(offset 0x%" PRIx64 ") ", map_info->offset());
     }
 
-    if (map_info->name.empty()) {
-      line += android::base::StringPrintf("<anonymous:%" PRIx64 ">", map_info->start);
+    if (map_info->name().empty()) {
+      line += android::base::StringPrintf("<anonymous:%" PRIx64 ">", map_info->start());
     } else {
-      line += map_info->name;
+      line += map_info->name();
     }
 
     if (!info->function_name.empty()) {
