Function honggfuzz::fuzz [] [src]

pub fn fuzz<F>(closure: F) where
    F: Fn(&[u8]), 

Fuzz a closure by passing it a &[u8]

This slice contains a "random" quantity of "random" data.

For perstistent fuzzing to work, you have to call it ad vita aeternam in an infinite loop.

extern crate honggfuzz;
use honggfuzz::fuzz;

loop {
    fuzz(|data|{
        if data.len() != 10 {return}
        if data[0] != b'q' {return}
        if data[1] != b'w' {return}
        if data[2] != b'e' {return}
        if data[3] != b'r' {return}
        if data[4] != b't' {return}
        if data[5] != b'y' {return}
        if data[6] != b'u' {return}
        if data[7] != b'i' {return}
        if data[8] != b'o' {return}
        if data[9] != b'p' {return}
        panic!("BOOM")
    });
}