X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Ffuzz_targets%2Fpeer_crypt_target.rs;h=4133331a7ebeb6d22c68e0f6fc6982caf2ac814e;hb=0f965d319f76bc89a7dd88a2c08c88ed0186f6c2;hp=b7287fb9be542852e3362fab44c44d110146d4b7;hpb=511c5319f1b50438ed21e5c922c0c9ef0b258cac;p=rust-lightning diff --git a/fuzz/fuzz_targets/peer_crypt_target.rs b/fuzz/fuzz_targets/peer_crypt_target.rs index b7287fb9..4133331a 100644 --- a/fuzz/fuzz_targets/peer_crypt_target.rs +++ b/fuzz/fuzz_targets/peer_crypt_target.rs @@ -2,6 +2,7 @@ extern crate lightning; extern crate secp256k1; use lightning::ln::peer_channel_encryptor::PeerChannelEncryptor; +use lightning::util::reset_rng_state; use secp256k1::key::{PublicKey,SecretKey}; use secp256k1::Secp256k1; @@ -14,6 +15,8 @@ fn slice_to_be16(v: &[u8]) -> u16 { #[inline] pub fn do_test(data: &[u8]) { + reset_rng_state(); + let mut read_pos = 0; macro_rules! get_slice { ($len: expr) => { @@ -96,29 +99,12 @@ fn main() { } } +extern crate hex; #[cfg(test)] mod tests { - fn extend_vec_from_hex(hex: &str, out: &mut Vec) { - let mut b = 0; - for (idx, c) in hex.as_bytes().iter().enumerate() { - b <<= 4; - match *c { - b'A'...b'F' => b |= c - b'A' + 10, - b'a'...b'f' => b |= c - b'a' + 10, - b'0'...b'9' => b |= c - b'0', - _ => panic!("Bad hex"), - } - if (idx & 1) == 1 { - out.push(b); - b = 0; - } - } - } #[test] fn duplicate_crash() { - let mut a = Vec::new(); - extend_vec_from_hex("01", &mut a); - super::do_test(&a); + super::do_test(&::hex::decode("01").unwrap()); } }