aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Fry <[email protected]>2017-02-16 08:14:03 -0800
committerBenjamin Fry <[email protected]>2017-02-16 19:49:14 -0800
commiteef5b5d2ac7fce2e54cd97a6f9cc8c557bd3d104 (patch)
treef17732f6b81743751d8e8f0bff5b3d8e63f3559e
parentfix versions for sys as well (diff)
downloadrust-openssl-eef5b5d2ac7fce2e54cd97a6f9cc8c557bd3d104.tar.xz
rust-openssl-eef5b5d2ac7fce2e54cd97a6f9cc8c557bd3d104.zip
review fixes: reorder forget()
-rw-r--r--openssl/src/ssl/mod.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs
index 899ff1a6..ceb0d070 100644
--- a/openssl/src/ssl/mod.rs
+++ b/openssl/src/ssl/mod.rs
@@ -654,14 +654,18 @@ impl SslContextBuilder {
}
}
- /// Sets a custom X509Store for verifying peer certificates
+ /// Sets a custom X509Store for verifying peer certificates.
+ ///
+ /// Requires the `v102` feature and OpenSSL 1.0.2, or the `v110` feature and OpenSSL 1.1.0.
#[cfg(any(all(feature = "v102", ossl102), all(feature = "v110", ossl110)))]
pub fn set_verify_cert_store(&mut self, cert_store: X509Store) -> Result<(), ErrorStack> {
unsafe {
// set0 will free, set1 increments, and then requires a free
let ptr = cert_store.as_ptr();
+ let result = cvt(ffi::SSL_CTX_set0_verify_cert_store(self.as_ptr(), ptr) as c_int).map(|_|());
+
mem::forget(cert_store);
- cvt(ffi::SSL_CTX_set0_verify_cert_store(self.as_ptr(), ptr) as c_int).map(|_|())
+ result
}
}