瀏覽代碼

Always set memptr in posix_memalign()

Peter Limkilde Svendsen 4 年之前
父節點
當前提交
da8d2fa7aa
共有 1 個文件被更改,包括 5 次插入4 次删除
  1. 5 4
      src/header/stdlib/mod.rs

+ 5 - 4
src/header/stdlib/mod.rs

@@ -647,13 +647,14 @@ pub unsafe extern "C" fn posix_memalign(
 
     if alignment % VOID_PTR_SIZE == 0 && alignment.is_power_of_two() {
         let ptr = platform::alloc_align(size, alignment);
-        if !ptr.is_null() {
-            *memptr = ptr;
-            0
-        } else {
+        *memptr = ptr;
+        if ptr.is_null() {
             ENOMEM
+        } else {
+            0
         }
     } else {
+        *memptr = ptr::null_mut();
         EINVAL
     }
 }