Files
RustySecrets/fuzz/fuzz_targets/wrapped_secrets_1.rs
2018-02-11 22:17:07 +01:00

26 lines
648 B
Rust

#![no_main]
extern crate arbitrary;
#[macro_use]
extern crate libfuzzer_sys;
extern crate rusty_secrets;
use rusty_secrets::wrapped_secrets;
use arbitrary::{RingBuffer, Unstructured};
fuzz_target!(|data: &[u8]| {
// ---
if let Ok(mut buffer) = RingBuffer::new(data, data.len()) {
let mut kn = vec![0; 2];
buffer.fill_buffer(&mut kn).unwrap();
let k = kn[0];
let n = kn[1];
wrapped_secrets::split_secret(k, n, &data, false)
.map_err(|err| err.into())
.and_then(|ss| wrapped_secrets::recover_secret(&ss, false))
.map(|_| ())
.unwrap_or(())
}
});