diff options
Diffstat (limited to 'openpgp/src/crypto/mem.rs')
-rw-r--r-- | openpgp/src/crypto/mem.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/openpgp/src/crypto/mem.rs b/openpgp/src/crypto/mem.rs index aaec1da6..c86c6731 100644 --- a/openpgp/src/crypto/mem.rs +++ b/openpgp/src/crypto/mem.rs @@ -185,9 +185,12 @@ impl From<&[u8]> for Protected { } impl<const N: usize> From<[u8; N]> for Protected { - fn from(v: [u8; N]) -> Self { + fn from(mut v: [u8; N]) -> Self { let mut p = Protected::new(v.len()); careful_memcpy(&v, &mut p); + unsafe { + memsec::memzero(v.as_mut_ptr(), v.len()); + } p } } |