From 98b02940debb514eb596140020ff04853cad9ff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Tue, 6 Oct 2026 16:07:17 +0300 Subject: [PATCH 1/2] zeroize: fix fallback code used by `optimization_barrier` --- zeroize/src/barrier.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); From e41fcea13953e36a6190a71a17326ed8e4b4584b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Tue, 6 Oct 2026 16:09:50 +0300 Subject: [PATCH 2/2] Add changelog entry --- zeroize/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) 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