From 1f45723b39f93d113536d94b89e24f6f70857eba Mon Sep 17 00:00:00 2001 From: Daniel Albert Date: Tue, 12 Jan 2016 20:57:01 +0000 Subject: [PATCH] Fix incorrect unsafe declaration --- openssl/src/crypto/rsa.rs | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/openssl/src/crypto/rsa.rs b/openssl/src/crypto/rsa.rs index 40d61884..85a13609 100644 --- a/openssl/src/crypto/rsa.rs +++ b/openssl/src/crypto/rsa.rs @@ -7,24 +7,35 @@ pub struct RSA { } impl RSA { - pub unsafe fn n(&self) -> BigNum { - BigNum::new_from_ffi(self.rsa_obj.n).unwrap() + // The following getters are unsafe, since BigNum::new_from_ffi fails upon null pointers + pub fn n(&self) -> BigNum { + unsafe { + BigNum::new_from_ffi(self.rsa_obj.n).unwrap() + } } - pub unsafe fn d(&self) -> BigNum { - BigNum::new_from_ffi(self.rsa_obj.d).unwrap() + pub fn d(&self) -> BigNum { + unsafe { + BigNum::new_from_ffi(self.rsa_obj.d).unwrap() + } } - pub unsafe fn e(&self) -> BigNum { - BigNum::new_from_ffi(self.rsa_obj.e).unwrap() + pub fn e(&self) -> BigNum { + unsafe { + BigNum::new_from_ffi(self.rsa_obj.e).unwrap() + } } - pub unsafe fn p(&self) -> BigNum { - BigNum::new_from_ffi(self.rsa_obj.p).unwrap() + pub fn p(&self) -> BigNum { + unsafe { + BigNum::new_from_ffi(self.rsa_obj.p).unwrap() + } } - pub unsafe fn q(&self) -> BigNum { - BigNum::new_from_ffi(self.rsa_obj.q).unwrap() + pub fn q(&self) -> BigNum { + unsafe { + BigNum::new_from_ffi(self.rsa_obj.q).unwrap() + } } }