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:
@@ -82,16 +82,9 @@ pub use crate::vmcontext::{
|
||||
mod module_id;
|
||||
pub use module_id::{CompiledModuleId, CompiledModuleIdAllocator};
|
||||
|
||||
#[cfg(memory_init_cow)]
|
||||
mod cow;
|
||||
#[cfg(memory_init_cow)]
|
||||
pub use crate::cow::{MemoryImage, MemoryImageSlot, ModuleMemoryImages};
|
||||
|
||||
#[cfg(not(memory_init_cow))]
|
||||
mod cow_disabled;
|
||||
#[cfg(not(memory_init_cow))]
|
||||
pub use crate::cow_disabled::{MemoryImage, MemoryImageSlot, ModuleMemoryImages};
|
||||
|
||||
/// Version number of this crate.
|
||||
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user