Skip to content

Commit 6fd0e8d

Browse files
authored
block-buffer: impl ZeroizeOnDrop for BlockBuffer (#1192)
This is required for implementing `ZeroizeOnDrop` on consumer crates. For example: RustCrypto/traits#1940
1 parent 1227836 commit 6fd0e8d

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+
impl<BS: ArraySize, K: BufferKind> Drop for BlockBuffer<BS, K> {
446+
#[inline]
447+
fn drop(&mut self) {
448+
#[cfg(feature = "zeroize")]
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)