#![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); });