From 0059902c72d313a92c46fcf073634080c9355717 Mon Sep 17 00:00:00 2001 From: Benedikt Reinartz Date: Fri, 15 Mar 2024 15:04:57 +0100 Subject: [PATCH] Remove bailout again and always ask for at least as many bytes as the requested alignment --- rustler/src/alloc.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/rustler/src/alloc.rs b/rustler/src/alloc.rs index d58d3b7a..a3be8f4e 100644 --- a/rustler/src/alloc.rs +++ b/rustler/src/alloc.rs @@ -11,10 +11,7 @@ pub struct EnifAllocator; unsafe impl GlobalAlloc for EnifAllocator { unsafe fn alloc(&self, layout: Layout) -> *mut u8 { // TODO: Check enif_alloc's real alignment - if layout.align() > (((((layout.size()) - 1) / 8) + 1) * 8) { - return std::ptr::null_mut(); - } - rustler_sys::enif_alloc(layout.size()) as *mut u8 + rustler_sys::enif_alloc(layout.size().max(layout.align())) as *mut u8 } unsafe fn dealloc(&self, ptr: *mut u8, _layout: Layout) {