sensitive/
auxiliary.rs

1//! Auxiliary functions
2
3/// Securely zero‐out memory
4///
5/// # Safety
6///
7/// `addr` must be [valid](std::ptr#safety) for writes and properly aligned.
8pub unsafe fn zero<T>(addr: *mut T, count: usize) {
9	debug_assert_eq!(addr.align_offset(std::mem::align_of::<T>()), 0);
10	std::intrinsics::volatile_set_memory(addr, 0, count);
11}