diff --git a/apps/desktop/desktop_native/Cargo.lock b/apps/desktop/desktop_native/Cargo.lock index c225dc49f73..cdb96c10c9d 100644 --- a/apps/desktop/desktop_native/Cargo.lock +++ b/apps/desktop/desktop_native/Cargo.lock @@ -937,6 +937,7 @@ dependencies = [ "windows-future", "zbus", "zbus_polkit", + "zeroizing-alloc", ] [[package]] @@ -3911,6 +3912,12 @@ dependencies = [ "syn", ] +[[package]] +name = "zeroizing-alloc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebff5e6b81c1c7dca2d0bd333b2006da48cb37dbcae5a8da888f31fcb3c19934" + [[package]] name = "zvariant" version = "4.2.0" diff --git a/apps/desktop/desktop_native/Cargo.toml b/apps/desktop/desktop_native/Cargo.toml index d9e61124864..fdab4c05c0f 100644 --- a/apps/desktop/desktop_native/Cargo.toml +++ b/apps/desktop/desktop_native/Cargo.toml @@ -63,3 +63,4 @@ windows-future = "=0.2.0" windows-registry = "=0.4.0" zbus = "=4.4.0" zbus_polkit = "=4.0.0" +zeroizing-alloc = "=0.1.0" diff --git a/apps/desktop/desktop_native/core/Cargo.toml b/apps/desktop/desktop_native/core/Cargo.toml index a8a8e0a2a44..b71081aaa1f 100644 --- a/apps/desktop/desktop_native/core/Cargo.toml +++ b/apps/desktop/desktop_native/core/Cargo.toml @@ -55,6 +55,7 @@ rsa = { workspace = true } ed25519 = { workspace = true, features = ["pkcs8"] } bytes = { workspace = true } sysinfo = { workspace = true, features = ["windows"] } +zeroizing-alloc = { workspace = true } [target.'cfg(windows)'.dependencies] widestring = { workspace = true, optional = true } diff --git a/apps/desktop/desktop_native/core/src/lib.rs b/apps/desktop/desktop_native/core/src/lib.rs index 4a6686cc1f5..0a16ee65be3 100644 --- a/apps/desktop/desktop_native/core/src/lib.rs +++ b/apps/desktop/desktop_native/core/src/lib.rs @@ -8,3 +8,8 @@ pub mod password; pub mod powermonitor; pub mod process_isolation; pub mod ssh_agent; + +use zeroizing_alloc::ZeroAlloc; + +#[global_allocator] +static ALLOC: ZeroAlloc = ZeroAlloc(std::alloc::System);