Recent changes to fuzzers made expectations more strict about handling errors while fuzzing, but this erroneously changed a module compilation step to always assume that the input wasm is valid. Instead a flag is now passed through indicating whether the wasm blob is known valid or invalid, and only if compilation fails and it's known valid do we panic.
14 lines
449 B
Rust
14 lines
449 B
Rust
#![no_main]
|
|
|
|
use libfuzzer_sys::fuzz_target;
|
|
use std::time::Duration;
|
|
use wasm_smith::{ConfiguredModule, SwarmConfig};
|
|
use wasmtime::Strategy;
|
|
use wasmtime_fuzzing::oracles;
|
|
|
|
fuzz_target!(|module: ConfiguredModule<SwarmConfig>| {
|
|
let mut cfg = wasmtime_fuzzing::fuzz_default_config(Strategy::Auto).unwrap();
|
|
cfg.wasm_multi_memory(true);
|
|
oracles::instantiate_with_config(&module.to_bytes(), true, cfg, Some(Duration::from_secs(20)));
|
|
});
|