From ef921143475af7b2a42fbe4874df29756c28d200 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 28 Oct 2025 08:41:28 -0400 Subject: [PATCH] Rust wrapper: cmac: consume CMAC in finalize() --- wrapper/rust/wolfssl/src/wolfcrypt/cmac.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wrapper/rust/wolfssl/src/wolfcrypt/cmac.rs b/wrapper/rust/wolfssl/src/wolfcrypt/cmac.rs index babd9d262c..0f5e42ad1e 100644 --- a/wrapper/rust/wolfssl/src/wolfcrypt/cmac.rs +++ b/wrapper/rust/wolfssl/src/wolfcrypt/cmac.rs @@ -203,6 +203,9 @@ impl CMAC { /// Generate the final Cipher-based Message Authentication Code result. /// + /// This function consumes the `CMAC` object since no further operations + /// can be performed with it. + /// /// # Parameters /// /// * `dout`: Output buffer where CMAC is written. @@ -229,7 +232,7 @@ impl CMAC { /// let mut finalize_out = [0u8; 16]; /// cmac.finalize(&mut finalize_out).expect("Error with finalize()"); /// ``` - pub fn finalize(&mut self, dout: &mut [u8]) -> Result<(), i32> { + pub fn finalize(mut self, dout: &mut [u8]) -> Result<(), i32> { let mut dout_size = dout.len() as u32; let rc = unsafe { ws::wc_CmacFinalNoFree(&mut self.ws_cmac,