Merge pull request #261 from tcharding/more-clippy

More clippy
This commit is contained in:
Andrew Poelstra 2020-12-22 04:34:09 +00:00 committed by GitHub
commit 2917de5ca7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 39 additions and 28 deletions

View File

@ -61,6 +61,11 @@ impl SharedSecret {
self.len self.len
} }
/// True if the underlying data buffer is empty.
pub fn is_empty(&self) -> bool {
self.data.is_empty()
}
/// Set the length of the object. /// Set the length of the object.
pub(crate) fn set_len(&mut self, len: usize) { pub(crate) fn set_len(&mut self, len: usize) {
debug_assert!(len <= self.data.len()); debug_assert!(len <= self.data.len());

View File

@ -512,7 +512,8 @@ mod test {
self.0 -= 1; self.0 -= 1;
} }
fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> {
Ok(self.fill_bytes(dest)) self.fill_bytes(dest);
Ok(())
} }
} }
@ -761,13 +762,13 @@ mod test {
let s = Secp256k1::new(); let s = Secp256k1::new();
let mut set = HashSet::new(); let mut set = HashSet::new();
const COUNT : usize = 1024; const COUNT : usize = 1024;
let count = (0..COUNT).map(|_| { for _ in 0..COUNT {
let (_, pk) = s.generate_keypair(&mut thread_rng()); let (_, pk) = s.generate_keypair(&mut thread_rng());
let hash = hash(&pk); let hash = hash(&pk);
assert!(!set.contains(&hash)); assert!(!set.contains(&hash));
set.insert(hash); set.insert(hash);
}).count(); };
assert_eq!(count, COUNT); assert_eq!(set.len(), COUNT);
} }
#[test] #[test]
@ -795,7 +796,7 @@ mod test {
let pk1 = PublicKey::from_slice( let pk1 = PublicKey::from_slice(
&hex!("0241cc121c419921942add6db6482fb36243faf83317c866d2a28d8c6d7089f7ba"), &hex!("0241cc121c419921942add6db6482fb36243faf83317c866d2a28d8c6d7089f7ba"),
).unwrap(); ).unwrap();
let pk2 = pk1.clone(); let pk2 = pk1;
let pk3 = PublicKey::from_slice( let pk3 = PublicKey::from_slice(
&hex!("02e6642fd69bd211f93f7f1f36ca51a26a5290eb2dd1b0d8279a87bb0d480c8443"), &hex!("02e6642fd69bd211f93f7f1f36ca51a26a5290eb2dd1b0d8279a87bb0d480c8443"),
).unwrap(); ).unwrap();

View File

@ -809,13 +809,15 @@ mod tests {
#[test] #[test]
fn test_raw_ctx() { fn test_raw_ctx() {
use std::mem::ManuallyDrop;
let ctx_full = Secp256k1::new(); let ctx_full = Secp256k1::new();
let ctx_sign = Secp256k1::signing_only(); let ctx_sign = Secp256k1::signing_only();
let ctx_vrfy = Secp256k1::verification_only(); let ctx_vrfy = Secp256k1::verification_only();
let full = unsafe {Secp256k1::from_raw_all(ctx_full.ctx)}; let mut full = unsafe {Secp256k1::from_raw_all(ctx_full.ctx)};
let sign = unsafe {Secp256k1::from_raw_signining_only(ctx_sign.ctx)}; let mut sign = unsafe {Secp256k1::from_raw_signining_only(ctx_sign.ctx)};
let vrfy = unsafe {Secp256k1::from_raw_verification_only(ctx_vrfy.ctx)}; let mut vrfy = unsafe {Secp256k1::from_raw_verification_only(ctx_vrfy.ctx)};
let (sk, pk) = full.generate_keypair(&mut thread_rng()); let (sk, pk) = full.generate_keypair(&mut thread_rng());
let msg = Message::from_slice(&[2u8; 32]).unwrap(); let msg = Message::from_slice(&[2u8; 32]).unwrap();
@ -827,8 +829,15 @@ mod tests {
assert!(vrfy.verify(&msg, &sig, &pk).is_ok()); assert!(vrfy.verify(&msg, &sig, &pk).is_ok());
assert!(full.verify(&msg, &sig, &pk).is_ok()); assert!(full.verify(&msg, &sig, &pk).is_ok());
drop(full);drop(sign);drop(vrfy); unsafe {
drop(ctx_full);drop(ctx_sign);drop(ctx_vrfy); ManuallyDrop::drop(&mut full);
ManuallyDrop::drop(&mut sign);
ManuallyDrop::drop(&mut vrfy);
}
drop(ctx_full);
drop(ctx_sign);
drop(ctx_vrfy);
} }
#[test] #[test]

View File

@ -185,11 +185,11 @@ impl KeyPair {
tweak.as_c_ptr(), tweak.as_c_ptr(),
); );
return if err == 1 { if err == 1 {
Ok(()) Ok(())
} else { } else {
Err(Error::InvalidTweak) Err(Error::InvalidTweak)
}; }
} }
} }
} }
@ -384,7 +384,7 @@ impl<C: Signing> Secp256k1<C> {
msg: &Message, msg: &Message,
keypair: &KeyPair, keypair: &KeyPair,
nonce_data: *const ffi::types::c_void, nonce_data: *const ffi::types::c_void,
) -> Result<Signature, Error> { ) -> Signature {
unsafe { unsafe {
let mut sig = [0u8; constants::SCHNORRSIG_SIGNATURE_SIZE]; let mut sig = [0u8; constants::SCHNORRSIG_SIGNATURE_SIZE];
assert_eq!( assert_eq!(
@ -399,7 +399,7 @@ impl<C: Signing> Secp256k1<C> {
) )
); );
Ok(Signature(sig)) Signature(sig)
} }
} }
@ -407,7 +407,7 @@ impl<C: Signing> Secp256k1<C> {
/// generator to generate the auxiliary random data. /// generator to generate the auxiliary random data.
/// Requires compilation with "rand-std" feature. /// Requires compilation with "rand-std" feature.
#[cfg(any(test, feature = "rand-std"))] #[cfg(any(test, feature = "rand-std"))]
pub fn schnorrsig_sign(&self, msg: &Message, keypair: &KeyPair) -> Result<Signature, Error> { pub fn schnorrsig_sign(&self, msg: &Message, keypair: &KeyPair) -> Signature {
let mut rng = thread_rng(); let mut rng = thread_rng();
self.schnorrsig_sign_with_rng(msg, keypair, &mut rng) self.schnorrsig_sign_with_rng(msg, keypair, &mut rng)
} }
@ -417,7 +417,7 @@ impl<C: Signing> Secp256k1<C> {
&self, &self,
msg: &Message, msg: &Message,
keypair: &KeyPair, keypair: &KeyPair,
) -> Result<Signature, Error> { ) -> Signature {
self.schnorrsig_sign_helper(msg, keypair, ptr::null()) self.schnorrsig_sign_helper(msg, keypair, ptr::null())
} }
@ -427,7 +427,7 @@ impl<C: Signing> Secp256k1<C> {
msg: &Message, msg: &Message,
keypair: &KeyPair, keypair: &KeyPair,
aux_rand: &[u8; 32], aux_rand: &[u8; 32],
) -> Result<Signature, Error> { ) -> Signature {
self.schnorrsig_sign_helper( self.schnorrsig_sign_helper(
msg, msg,
keypair, keypair,
@ -444,7 +444,7 @@ impl<C: Signing> Secp256k1<C> {
msg: &Message, msg: &Message,
keypair: &KeyPair, keypair: &KeyPair,
rng: &mut R, rng: &mut R,
) -> Result<Signature, Error> { ) -> Signature {
let mut aux = [0u8; 32]; let mut aux = [0u8; 32];
rng.fill_bytes(&mut aux); rng.fill_bytes(&mut aux);
self.schnorrsig_sign_helper(msg, keypair, aux.as_c_ptr() as *const ffi::types::c_void) self.schnorrsig_sign_helper(msg, keypair, aux.as_c_ptr() as *const ffi::types::c_void)
@ -465,11 +465,11 @@ impl<C: Signing> Secp256k1<C> {
pubkey.as_c_ptr(), pubkey.as_c_ptr(),
); );
return if ret == 1 { if ret == 1 {
Ok(()) Ok(())
} else { } else {
Err(Error::InvalidSignature) Err(Error::InvalidSignature)
}; }
} }
} }
@ -533,7 +533,6 @@ mod tests {
let mut aux_rand = [0; 32]; let mut aux_rand = [0; 32];
rng.fill_bytes(&mut aux_rand); rng.fill_bytes(&mut aux_rand);
secp.schnorrsig_sign_with_aux_rand(msg, seckey, &aux_rand) secp.schnorrsig_sign_with_aux_rand(msg, seckey, &aux_rand)
.unwrap()
}) })
} }
@ -541,21 +540,20 @@ mod tests {
fn test_schnorrsig_sign_with_rng_verify() { fn test_schnorrsig_sign_with_rng_verify() {
test_schnorrsig_sign_helper(|secp, msg, seckey, mut rng| { test_schnorrsig_sign_helper(|secp, msg, seckey, mut rng| {
secp.schnorrsig_sign_with_rng(msg, seckey, &mut rng) secp.schnorrsig_sign_with_rng(msg, seckey, &mut rng)
.unwrap()
}) })
} }
#[test] #[test]
fn test_schnorrsig_sign_verify() { fn test_schnorrsig_sign_verify() {
test_schnorrsig_sign_helper(|secp, msg, seckey, _| { test_schnorrsig_sign_helper(|secp, msg, seckey, _| {
secp.schnorrsig_sign(msg, seckey).unwrap() secp.schnorrsig_sign(msg, seckey)
}) })
} }
#[test] #[test]
fn test_schnorrsig_sign_no_aux_rand_verify() { fn test_schnorrsig_sign_no_aux_rand_verify() {
test_schnorrsig_sign_helper(|secp, msg, seckey, _| { test_schnorrsig_sign_helper(|secp, msg, seckey, _| {
secp.schnorrsig_sign_no_aux_rand(msg, seckey).unwrap() secp.schnorrsig_sign_no_aux_rand(msg, seckey)
}) })
} }
@ -575,8 +573,7 @@ mod tests {
let expected_sig = Signature::from_str("6470FD1303DDA4FDA717B9837153C24A6EAB377183FC438F939E0ED2B620E9EE5077C4A8B8DCA28963D772A94F5F0DDF598E1C47C137F91933274C7C3EDADCE8").unwrap(); let expected_sig = Signature::from_str("6470FD1303DDA4FDA717B9837153C24A6EAB377183FC438F939E0ED2B620E9EE5077C4A8B8DCA28963D772A94F5F0DDF598E1C47C137F91933274C7C3EDADCE8").unwrap();
let sig = secp let sig = secp
.schnorrsig_sign_with_aux_rand(&msg, &sk, &aux_rand) .schnorrsig_sign_with_aux_rand(&msg, &sk, &aux_rand);
.unwrap();
assert_eq!(expected_sig, sig); assert_eq!(expected_sig, sig);
} }
@ -730,8 +727,7 @@ mod tests {
let keypair = KeyPair::from_seckey_slice(&s, &[2; 32]).unwrap(); let keypair = KeyPair::from_seckey_slice(&s, &[2; 32]).unwrap();
let aux = [3; 32]; let aux = [3; 32];
let sig = s let sig = s
.schnorrsig_sign_with_aux_rand(&msg, &keypair, &aux) .schnorrsig_sign_with_aux_rand(&msg, &keypair, &aux);
.unwrap();
static SIG_BYTES: [u8; constants::SCHNORRSIG_SIGNATURE_SIZE] = [ static SIG_BYTES: [u8; constants::SCHNORRSIG_SIGNATURE_SIZE] = [
0x14, 0xd0, 0xbf, 0x1a, 0x89, 0x53, 0x50, 0x6f, 0xb4, 0x60, 0xf5, 0x8b, 0xe1, 0x41, 0x14, 0xd0, 0xbf, 0x1a, 0x89, 0x53, 0x50, 0x6f, 0xb4, 0x60, 0xf5, 0x8b, 0xe1, 0x41,
0xaf, 0x76, 0x7f, 0xd1, 0x12, 0x53, 0x5f, 0xb3, 0x92, 0x2e, 0xf2, 0x17, 0x30, 0x8e, 0xaf, 0x76, 0x7f, 0xd1, 0x12, 0x53, 0x5f, 0xb3, 0x92, 0x2e, 0xf2, 0x17, 0x30, 0x8e,