Chasing memory bugs in memory.rs: allocate the right layout.

This commit is contained in:
2025-10-23 14:46:56 -04:00
parent e6fd7e49f8
commit dfdaa67b4d
+2 -2
View File
@@ -60,7 +60,7 @@ pub fn alloc_bytes(size: usize) -> *mut u8 {
return ptr::null_mut(); return ptr::null_mut();
}; };
let full_segment = unsafe { alloc::alloc_zeroed(layout) }; let full_segment = unsafe { alloc::alloc_zeroed(full_layout) };
if full_segment.is_null() { if full_segment.is_null() {
return ptr::null_mut(); return ptr::null_mut();
} }
@@ -73,7 +73,7 @@ pub fn alloc_bytes(size: usize) -> *mut u8 {
let header = result.sub(mem::size_of::<Header>()).cast::<Header>(); let header = result.sub(mem::size_of::<Header>()).cast::<Header>();
header.write_unaligned(Header { header.write_unaligned(Header {
ptr: NonNull::new_unchecked(full_segment), ptr: NonNull::new_unchecked(full_segment),
layout: header_layout, layout: full_layout,
refcount: 0, refcount: 0,
}); });
} }