From b2e150bf3c4d5949f339d1e9b7dee4f94bd06cdd Mon Sep 17 00:00:00 2001 From: Benjamin Fry Date: Thu, 16 Feb 2017 08:14:03 -0800 Subject: [PATCH] review fixes: reorder forget() --- openssl/src/ssl/mod.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs index 899ff1a61..ceb0d070a 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 } } -- GitLab