review fixes: reorder forget()

This commit is contained in:
Benjamin Fry 2017-02-16 08:14:03 -08:00
parent ce2cfc56a6
commit eef5b5d2ac
1 changed files with 6 additions and 2 deletions

View File

@ -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
}
}