Harden the WASM actor host against malformed guest modules and add a property-test-backed suite covering builder validation, message handling, allocation, trap recovery, and native interop. - crates/wasm-actor/src/actor.rs: bounds-check the guest memory write against the alloc-returned pointer (saturating_add plus OOB guard) so an out-of-bounds allocation drops the message instead of panicking the host - crates/wasm-actor/src/actor.rs: clear the host outbox when the guest handle traps, discarding partial sends from the incomplete operation while keeping the actor alive - crates/wasm-actor/tests/wasm_actor.rs: add a comprehensive suite covering builder validation (missing exports, invalid wasm, disabled features), echo round-trip, alloc trap/exhaustion recovery, send boundary conditions, full lifecycle, and wasm<->native interop/relay/watch scenarios - crates/wasm-actor/tests/wasm_actor.rs: add proptest cases (builder fuzz, arbitrary-payload echo, arbitrary alloc returns, send-arg fuzz, lifecycle fuzz) and assert Send/Sync of the error types - crates/wasm-actor/Cargo.toml: pull in proptest as a dev-dependency Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
13 lines
234 B
TOML
13 lines
234 B
TOML
[package]
|
|
name = "swactor-wasm-actor"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
swactor = { path = "../.." }
|
|
wasmtime = "29"
|
|
|
|
[dev-dependencies]
|
|
swactor = { path = "../..", features = ["getrandom"] }
|
|
wat = "1"
|
|
proptest = "1"
|