diff --git a/zeroize/CHANGELOG.md b/zeroize/CHANGELOG.md index 51e3b421..d87bf0c0 100644 --- a/zeroize/CHANGELOG.md +++ b/zeroize/CHANGELOG.md @@ -7,8 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## 1.9.1 (UNRELEASED) ### Fixed - False positive failures in proxy allocator test ([#1538]) +- Potential uninitialized memory read in fallback code used by `optimization_barrier` ([#1551]) [#1538]: https://github.com/RustCrypto/utils/pull/1538 +[#1551]: https://github.com/RustCrypto/utils/pull/1551 ## 1.9.0 (2026-06-12) ### Added diff --git a/zeroize/src/barrier.rs b/zeroize/src/barrier.rs index d61abc5a..d6a5004c 100644 --- a/zeroize/src/barrier.rs +++ b/zeroize/src/barrier.rs @@ -91,7 +91,9 @@ pub fn optimization_barrier(val: &T) { /// `#[inline(never)]` and `read_volatile`. #[inline(never)] fn custom_black_box(p: *const u8) { - let _ = unsafe { core::ptr::read_volatile(p) }; + use core::mem::MaybeUninit; + + let _: MaybeUninit = unsafe { core::ptr::read_volatile(p.cast()) }; } core::hint::black_box(val);