From 8b1518c70531f33963aa73924253187fdbd22a6b Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Mon, 5 Feb 2018 16:18:11 +0300 Subject: [PATCH] Use wabt's validation instead of wasm2wat. Fixes #16 Fixes #34 --- fuzz/Cargo.toml | 2 +- fuzz/fuzz_targets/load.rs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 149923a..5b86661 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -10,7 +10,7 @@ cargo-fuzz = true [dependencies] wasmi = { path = ".." } -wabt = "0.1.6" +wabt = "0.1.7" [dependencies.libfuzzer-sys] git = "https://github.com/rust-fuzz/libfuzzer-sys.git" diff --git a/fuzz/fuzz_targets/load.rs b/fuzz/fuzz_targets/load.rs index 73ed742..0c98907 100644 --- a/fuzz/fuzz_targets/load.rs +++ b/fuzz/fuzz_targets/load.rs @@ -1,13 +1,13 @@ #![no_main] -#[macro_use] extern crate libfuzzer_sys; -extern crate wasmi; +#[macro_use] +extern crate libfuzzer_sys; extern crate wabt; +extern crate wasmi; fuzz_target!(|data: &[u8]| { - let wasmi_result = wasmi::load_from_buffer(data); - - // TODO: Do validation only! https://github.com/pepyakin/wasmi/issues/16 - let wabt_result = wabt::wasm2wat(data); + let wasmi_result = wasmi::Module::from_buffer(data); + let wabt_result = + wabt::Module::read_binary(data, &Default::default()).and_then(|m| m.validate()); assert_eq!(wasmi_result.is_ok(), wabt_result.is_ok()); });