Loading...
--- libmalloc/libmalloc-521.120.7/src/magazine_malloc.c
+++ libmalloc/libmalloc-409.60.6/src/magazine_malloc.c
@@ -48,7 +48,7 @@
 int max_magazines;
 
 // Control whether medium is enabled at all when creating new magazine zones
-bool magazine_medium_enabled = DEFAULT_MEDIUM_ALLOCATOR_ENABLED;
+bool magazine_medium_enabled = true;
 
 // Control the DRAM limit at which medium kicks in.
 uint64_t magazine_medium_active_threshold = MEDIUM_ACTIVATION_THRESHOLD;
@@ -904,7 +904,7 @@
 	return szone_check_all(szone, "");
 }
 
-// To support the sanitizer zone, we need to be able to perform zone enumeration across different
+// To support the quarantine zone, we need to be able to perform zone enumeration across different
 // architecture slices on macOS, because ReportCrash is always running as a native (arm64e) process,
 // but we also need to be able to inspect x86_64 targets that are running under Rosetta. So the data
 // layout and zone logic needs to match between x86_64 and arm64(e).
@@ -919,7 +919,9 @@
 	szone_t *szone;
 	kern_return_t err;
 
-	reader = reader_or_in_memory_fallback(reader, task);
+	if (!reader) {
+		reader = _malloc_default_reader;
+	}
 
 	err = reader(task, zone_address, sizeof(szone_t), (void **)&szone);
 	if (err) {
@@ -1046,15 +1048,6 @@
 			zone_address, info[0], info[1], info[2], info[3], info[12]);
 	printer("\ttiny=%u(%u) small=%u(%u) large=%u(%u)\n", info[4],
 			info[5], info[6], info[7], info[8], info[9]);
-
-	// FIXME: The rest of the code here assumes that regions have their normal
-	// alignment, which isn't guaranteed when looking at regions mapped from
-	// other processes
-	if (!mach_task_is_self(task)) {
-		printer("(unable to safely further examine remote process)\n");
-		return;
-	}
-
 	// tiny
 	printer("%lu tiny regions:\n", mapped_szone->tiny_rack.num_regions);
 	if (mapped_szone->tiny_rack.num_regions_dealloc) {
@@ -1569,7 +1562,7 @@
 szone_statistics_task(task_t task, vm_address_t zone_address,
 					  memory_reader_t reader, malloc_statistics_t *stats)
 {
-	reader = reader_or_in_memory_fallback(reader, task);
+	reader = !reader && task == mach_task_self() ? _malloc_default_reader : reader;
 
 	szone_t *szone;
 	kern_return_t err;