File: pulley.rs

package info (click to toggle)
rust-wasmtime 28.0.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 54,116 kB
  • sloc: ansic: 4,071; sh: 567; javascript: 548; cpp: 280; asm: 175; ml: 96; makefile: 55
file content (21 lines) | stat: -rw-r--r-- 479 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#![no_main]

use libfuzzer_sys::{arbitrary::*, fuzz_target};
use pulley_interpreter_fuzz::{interp, roundtrip};

fuzz_target!(|data| {
    let _ = fuzz(data);
});

fn fuzz(data: &[u8]) -> Result<()> {
    let _ = env_logger::try_init();

    let mut u = Unstructured::new(data);
    match u.int_in_range(0..=1)? {
        0 => roundtrip(Arbitrary::arbitrary_take_rest(u)?),
        1 => interp(Arbitrary::arbitrary_take_rest(u)?),
        _ => unreachable!(),
    }

    Ok(())
}