Merge pull request from GHSA-wh6w-3828-g9qf
* Unconditionally use `MemoryImageSlot` This commit removes the internal branching within the pooling instance allocator to sometimes use a `MemoryImageSlot` and sometimes now. Instead this is now unconditionally used in all situations on all platforms. This fixes an issue where the state of a slot could get corrupted if modules being instantiated switched from having images to not having an image or vice versa. The bulk of this commit is the removal of the `memory-init-cow` compile-time feature in addition to adding Windows support to the `cow.rs` file. * Fix compile on Unix * Add a stricter assertion for static memory bounds Double-check that when a memory is allocated the configuration required is satisfied by the pooling allocator.
This commit is contained in:
@@ -14,13 +14,4 @@ fn main() {
|
||||
println!("cargo:rerun-if-changed=src/helpers.c");
|
||||
build.file("src/helpers.c");
|
||||
build.compile("wasmtime-helpers");
|
||||
|
||||
// Check to see if we are on Unix and the `memory-init-cow` feature is
|
||||
// active. If so, enable the `memory_init_cow` rustc cfg so
|
||||
// `#[cfg(memory_init_cow)]` will work.
|
||||
let family = env::var("CARGO_CFG_TARGET_FAMILY").unwrap();
|
||||
let memory_init_cow = env::var("CARGO_FEATURE_MEMORY_INIT_COW").is_ok();
|
||||
if &family == "unix" && memory_init_cow {
|
||||
println!("cargo:rustc-cfg=memory_init_cow");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user