Skip to content

Commit b23928e

Browse files
committed
block-buffer: impl ZeroizeOnDrop for BlockBuffer
This is required for implementing ZeroizeOnDrop on consumer crates. For example: RustCrypto/traits#1940
1 parent 1227836 commit b23928e

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

block-buffer/src/lib.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ use array::{
4949
use core::{fmt, mem::MaybeUninit, ops::Add, ptr, slice};
5050

5151
#[cfg(feature = "zeroize")]
52-
use zeroize::Zeroize;
52+
use zeroize::{Zeroize, ZeroizeOnDrop};
5353

5454
mod read;
5555
mod sealed;
@@ -441,3 +441,14 @@ impl<BS: ArraySize, K: BufferKind> Zeroize for BlockBuffer<BS, K> {
441441
self.pos.zeroize();
442442
}
443443
}
444+
445+
#[cfg(feature = "zeroize")]
446+
impl<BS: ArraySize, K: BufferKind> Drop for BlockBuffer<BS, K> {
447+
#[inline]
448+
fn drop(&mut self) {
449+
self.zeroize();
450+
}
451+
}
452+
453+
#[cfg(feature = "zeroize")]
454+
impl<BS: ArraySize, K: BufferKind> ZeroizeOnDrop for BlockBuffer<BS, K> {}

0 commit comments

Comments
 (0)