diff --git a/rustls/src/client/tls12.rs b/rustls/src/client/tls12.rs index cfb5c6e0..d2aeb17e 100644 --- a/rustls/src/client/tls12.rs +++ b/rustls/src/client/tls12.rs @@ -93,13 +93,12 @@ impl hs::State for ExpectCertificateStatus { self.handshake .transcript .add_message(&m); - let mut status = require_handshake_msg_mut!( + let server_cert_ocsp_response = require_handshake_msg_mut!( m, HandshakeType::CertificateStatus, HandshakePayload::CertificateStatus - )?; + )?.into_inner(); - let server_cert_ocsp_response = status.take_ocsp_response(); trace!( "Server stapled OCSP response is {:?}", &server_cert_ocsp_response diff --git a/rustls/src/msgs/handshake.rs b/rustls/src/msgs/handshake.rs index 755d33a0..7fc0f145 100644 --- a/rustls/src/msgs/handshake.rs +++ b/rustls/src/msgs/handshake.rs @@ -16,7 +16,6 @@ use crate::log::warn; use std::collections; use std::fmt; use std::io::Write; -use std::mem; use webpki; macro_rules! declare_u8_vec( @@ -2092,9 +2091,8 @@ impl CertificateStatus { } } - pub fn take_ocsp_response(&mut self) -> Vec { - let new = PayloadU24::new(Vec::new()); - mem::replace(&mut self.ocsp_response, new).0 + pub fn into_inner(self) -> Vec { + self.ocsp_response.0 } }