aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkey.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/pkey.rs b/pkey.rs
index a3533778..87fcc6a6 100644
--- a/pkey.rs
+++ b/pkey.rs
@@ -76,13 +76,13 @@ fn openssl_hash_nid(hash: HashType) -> c_int {
fn rsa_to_any(rsa: *RSA) -> *ANYKEY {
unsafe {
- cast::reinterpret_cast(&rsa)
+ cast::transmute_copy(&rsa)
}
}
fn any_to_rsa(anykey: *ANYKEY) -> *RSA {
unsafe {
- cast::reinterpret_cast(&anykey)
+ cast::transmute_copy(&anykey)
}
}
@@ -325,20 +325,18 @@ pub impl PKey {
do vec::as_mut_buf(r) |pr, _len| {
do vec::as_imm_buf(s) |ps, s_len| {
- let plen = ptr::addr_of(&len);
-
let rv = libcrypto::RSA_sign(
openssl_hash_nid(hash),
ps,
s_len as c_uint,
pr,
- plen,
+ &len,
rsa);
if rv < 0 as c_int {
~[]
} else {
- vec::const_slice(r, 0u, *plen as uint).to_owned()
+ vec::const_slice(r, 0u, len as uint).to_owned()
}
}
}