Wasynth/fuzz/fuzz_targets/just_transformer.rs
2021-11-28 16:14:07 -05:00

25 lines
552 B
Rust

#![no_main]
use parity_wasm::elements::Module as WasmModule;
use wasm_smith::Module as SmModule;
use wasm::backend::{ast::transformer::Transformer, translator::arity::List};
fn fuzz_transformer(wasm: &WasmModule) {
let arity = List::new(wasm);
for i in 0..arity.in_arity.len() {
let _ = Transformer::new(wasm, &arity).consume(i);
}
}
libfuzzer_sys::fuzz_target!(|module: SmModule| {
let data = module.to_bytes();
let wasm = match parity_wasm::deserialize_buffer(&data) {
Ok(v) => v,
Err(_) => return,
};
fuzz_transformer(&wasm);
});