Wasynth/fuzz/fuzz_targets/just_writer.rs
2021-11-30 03:27:17 -05:00

26 lines
585 B
Rust

#![no_main]
use std::io::Result;
use parity_wasm::elements::Module as WasmModule;
use wasm_smith::Module as SmModule;
use wasm::writer::{luajit::LuaJIT, visit::Transpiler};
fn fuzz_writer(wasm: &WasmModule) -> Result<()> {
let trans = LuaJIT::new(wasm);
let list = trans.build_func_list();
trans.gen_func_list(&list, &mut std::io::sink())
}
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_writer(&wasm).expect("LuaJIT should succeed");
});