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.
17 lines
409 B
Rust
17 lines
409 B
Rust
#![no_main]
|
|
|
|
use libfuzzer_sys::fuzz_target;
|
|
use std::time::Duration;
|
|
use wasm_smith::MaybeInvalidModule;
|
|
use wasmtime::Strategy;
|
|
use wasmtime_fuzzing::oracles;
|
|
|
|
fuzz_target!(|module: MaybeInvalidModule| {
|
|
oracles::instantiate_with_config(
|
|
&module.to_bytes(),
|
|
false,
|
|
wasmtime_fuzzing::fuzz_default_config(Strategy::Auto).unwrap(),
|
|
Some(Duration::from_secs(20)),
|
|
);
|
|
});
|