From 0866a30bdb9efb3af81191d51c671289083dbfe3 Mon Sep 17 00:00:00 2001 From: Radu Marias Date: Wed, 5 Jun 2024 19:23:42 +0300 Subject: [PATCH] version --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/lib.rs | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b7b69bb..8544d72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -460,7 +460,7 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "zeroize" -version = "0.4.3" +version = "0.4.4" dependencies = [ "libc", "memsec", diff --git a/Cargo.toml b/Cargo.toml index 201b99c..96ff7cd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zeroize" -version = "0.4.3" +version = "0.4.4" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/lib.rs b/src/lib.rs index f2197c6..5632b1c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -111,6 +111,7 @@ unsafe fn _munlock(ptr: *mut u8, len: usize) -> bool { #[cfg(test)] mod test { use zeroize_rs::Zeroize; + use super::{_mlock, _munlock}; #[test] fn test_zeroize() { @@ -118,4 +119,27 @@ mod test { arr.zeroize(); assert_eq!(arr, [0, 0, 0, 0, 0]); } + + #[test] + fn test_mlock() { + let mut arr = [1, 2, 3, 4, 5]; + let mut arr2 = vec![0; 4096]; + let mut arr3 = vec![0; 4096 * 4096]; + unsafe { + let ptr = arr.as_mut_ptr(); + let len = arr.len(); + _mlock(ptr, len); + _munlock(ptr, len); + + let ptr = arr2.as_mut_ptr(); + let len = arr2.len(); + _mlock(ptr, len); + _munlock(ptr, len); + + let ptr = arr3.as_mut_ptr(); + let len = arr3.len(); + _mlock(ptr, len); + _munlock(ptr, len); + } + } }