about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2020-03-30 12:30:06 -0700
committerAlex Crichton <alex@alexcrichton.com>2020-03-30 12:30:06 -0700
commitab2998bac3bd7ae254cacad3f0911c950691216a (patch)
tree2a7c35dda9a8f9edceb2083f410aedea026d8884
parent9a12971da5c08f9a95d54bdaef5cd83698ed4509 (diff)
downloadrust-ab2998bac3bd7ae254cacad3f0911c950691216a.tar.gz
rust-ab2998bac3bd7ae254cacad3f0911c950691216a.zip
std: Fix over-aligned allocations on wasm32-wasi
The wasm32-wasi target delegates its malloc implementation to the
functions in wasi-libc, but the invocation of `aligned_alloc` was
incorrect by passing the number of bytes requested first rather than the
alignment. This commit swaps the order of these two arguments to ensure
that we allocate over-aligned memory correctly.
-rw-r--r--src/libstd/sys/wasi/alloc.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstd/sys/wasi/alloc.rs b/src/libstd/sys/wasi/alloc.rs
index e9760d050e1..bc614162784 100644
--- a/src/libstd/sys/wasi/alloc.rs
+++ b/src/libstd/sys/wasi/alloc.rs
@@ -10,7 +10,7 @@ unsafe impl GlobalAlloc for System {
         if layout.align() <= MIN_ALIGN && layout.align() <= layout.size() {
             libc::malloc(layout.size()) as *mut u8
         } else {
-            libc::aligned_alloc(layout.size(), layout.align()) as *mut u8
+            libc::aligned_alloc(layout.align(), layout.size()) as *mut u8
         }
     }