From 0dcda643eab76f4f780893aba74e1f98d8a6a4a1 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Thu, 9 Jun 2022 17:53:11 -0700 Subject: [PATCH] runtime: vmoffsets must be checked in reverse order (#4253) When adding shared memory, memories owned by the module were added to a `owned_memories` array placed immediately after the `defined_memories` array. When checking the size of each array with `region_sizes`, the size of `defined_memories` and `owned_memories` were checked in this order. But `region_sizes` is iterating through the fields in the reverse order. This change reverses the field order to fix the associated fuzz bug. --- crates/environ/src/vmoffsets.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/environ/src/vmoffsets.rs b/crates/environ/src/vmoffsets.rs index cee03503ff..347bec97a6 100644 --- a/crates/environ/src/vmoffsets.rs +++ b/crates/environ/src/vmoffsets.rs @@ -251,8 +251,8 @@ impl VMOffsets

{ calculate_sizes! { defined_anyfuncs: "module functions", defined_globals: "defined globals", - defined_memories: "defined memories", owned_memories: "owned memories", + defined_memories: "defined memories", defined_tables: "defined tables", imported_globals: "imported globals", imported_memories: "imported memories",