Loading...
--- libmalloc/libmalloc-715.100.22/src/malloc_exclaves.c
+++ libmalloc/libmalloc-646.40.3/src/malloc_exclaves.c
@@ -38,8 +38,6 @@
 malloc_zone_t ** __unsafe_indexable malloc_zones = _malloc_zones;
 
 bool malloc_sanitizer_enabled = false;
-
-
 #if __LIBLIBC_F_ASAN_INSTRUMENTATION
 static struct malloc_sanitizer_poison malloc_poison_default = {
 	.heap_allocate_poison = __asan_poison_heap_memory_alloc,
@@ -143,7 +141,6 @@
 	logical_ncpus = _liblibc_plat_num_cpus;
 	phys_ncpus = _liblibc_plat_num_cpus;
 
-
 	const unsigned malloc_debug_flags = MALLOC_ABORT_ON_CORRUPTION |
 			MALLOC_ABORT_ON_ERROR;
 	mfm_initialize();
@@ -412,7 +409,9 @@
 
 	zone = _find_registered_zone(ptr, &size, known_non_default);
 	if (!zone) {
-		malloc_report_pointer_was_not_allocated(MALLOC_REPORT_CRASH, ptr);
+		malloc_report(MALLOC_REPORT_DEBUG | MALLOC_REPORT_NOLOG,
+			"*** error for object %p: pointer being freed was not allocated\n",
+			ptr);
 	} else if (zone->free_definite_size) {
 		malloc_zone_free_definite_size(zone,
 			__unsafe_forge_bidi_indexable(void *, ptr, size), size);
@@ -484,8 +483,9 @@
 	} else {
 		zone = _find_registered_zone(old_ptr, NULL, false);
 		if (!zone) {
-			malloc_report_pointer_was_not_allocated(MALLOC_REPORT_CRASH,
-					in_ptr);
+			malloc_report(MALLOC_REPORT_CRASH,
+				"*** error for object %p: pointer being realloc'd was not allocated\n",
+				in_ptr);
 		} else {
 			retval = malloc_zone_realloc(zone, old_ptr, new_size);
 		}
@@ -511,12 +511,7 @@
 	void *ptr = realloc(in_ptr, new_size);
 
 	if (!ptr && in_ptr && new_size != 0) {
-		// Save and restore `errno`, because `realloc` will set it to ENOMEM
-		// on allocation failure, but it could be overwritten if `free` calls
-		// into a library function that also modifies `errno`
-		errno_t error = errno;
 		free(in_ptr);
-		errno = error;
 	}
 
 	return ptr;