Skip to main content

age_setup/security/
zeroize.rs

1use crate::errors::Result;
2use zeroize::Zeroize;
3#[must_use = "wipe_memory should be called to ensure memory is cleared"]
4pub(crate) fn wipe_memory(data: &mut [u8]) -> Result<()> {
5    data.zeroize();
6    Ok(())
7}
8#[cfg(test)]
9mod tests {
10    use super::*;
11    #[test]
12    fn test_wipe_memory_zeroizes() {
13        let mut data = vec![1, 2, 3, 4];
14        let result = wipe_memory(&mut data);
15        assert!(result.is_ok());
16        assert_eq!(data, vec![0, 0, 0, 0]);
17    }
18}