From 14d4800fcadffe414d78dcabe86e1deb8af314b2 Mon Sep 17 00:00:00 2001 From: Trevor Elliott Date: Fri, 4 Oct 2024 08:45:29 -0700 Subject: [PATCH] Fix the alignment check in the adapter's allocator --- crates/adapter/src/lib.rs | 2 +- lib/data/viceroy-component-adapter.wasm | Bin 200467 -> 200935 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/adapter/src/lib.rs b/crates/adapter/src/lib.rs index 0dbba8be..4da15817 100644 --- a/crates/adapter/src/lib.rs +++ b/crates/adapter/src/lib.rs @@ -355,7 +355,7 @@ impl BumpAlloc { unreachable!("invalid alignment"); } let align_offset = self.base.align_offset(align); - if align_offset >= self.len { + if align_offset > self.len { unreachable!("failed to allocate") } self.len -= align_offset; diff --git a/lib/data/viceroy-component-adapter.wasm b/lib/data/viceroy-component-adapter.wasm index 23c5936c1cc1c90c270f58d545e32248d084ae94..57cfa86674316b58bacafc7b76ecbcae1d45a2cb 100755 GIT binary patch delta 33928 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