summaryrefslogtreecommitdiffstats
path: root/openpgp
diff options
context:
space:
mode:
Diffstat (limited to 'openpgp')
-rw-r--r--openpgp/src/crypto/mem.rs5
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
}
}