File: pulley.rs

package info (click to toggle)
rust-wasmtime 26.0.1%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 48,492 kB
  • sloc: ansic: 4,003; sh: 561; javascript: 542; cpp: 254; asm: 175; ml: 96; makefile: 55
file content (21 lines) | stat: -rw-r--r-- 479 bytes parent folder | download | duplicates (3)
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(())
}