This new fuzz target exercises sequences of `table.get`s, `table.set`s, and GCs. It already found a couple bugs: * Some leaks due to ref count cycles between stores and host-defined functions closing over those stores. * If there are no live references for a PC, Cranelift can avoid emiting an associated stack map. This was running afoul of a debug assertion.
10 lines
242 B
Rust
Executable File
10 lines
242 B
Rust
Executable File
#![no_main]
|
|
|
|
use libfuzzer_sys::fuzz_target;
|
|
use wasmtime_fuzzing::generators::{table_ops::TableOps, Config};
|
|
|
|
fuzz_target!(|pair: (Config, TableOps)| {
|
|
let (config, ops) = pair;
|
|
wasmtime_fuzzing::oracles::table_ops(config, ops);
|
|
});
|