summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-07-14 14:43:27 +0200
committerDavid Lönnhager <david.l@mullvad.net>2025-07-15 13:45:25 +0200
commit0c1498e4474d5837d032b10461548344df770933 (patch)
treef28990cefd930deda0765a02f76c4cfac2958cb6
parent307ca91be74be6083ae195974e1a4e3f78a0ec33 (diff)
downloadmullvadvpn-0c1498e4474d5837d032b10461548344df770933.tar.xz
mullvadvpn-0c1498e4474d5837d032b10461548344df770933.zip
Fix dangling pointer when applying blocked state on Windows
-rw-r--r--talpid-core/src/firewall/windows/winfw/mod.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/talpid-core/src/firewall/windows/winfw/mod.rs b/talpid-core/src/firewall/windows/winfw/mod.rs
index 10fda65626..b6850754a8 100644
--- a/talpid-core/src/firewall/windows/winfw/mod.rs
+++ b/talpid-core/src/firewall/windows/winfw/mod.rs
@@ -77,12 +77,13 @@ pub(super) fn apply_policy_blocked(
) -> Result<(), FirewallPolicyError> {
let allowed_endpoint = allowed_endpoint
.as_ref()
- .map(WinFwAllowedEndpointContainer::as_endpoint)
+ .map(WinFwAllowedEndpointContainer::as_endpoint);
+ let allowed_endpoint_ptr = allowed_endpoint
.as_ref()
.map(ptr::from_ref)
.unwrap_or(ptr::null());
// SAFETY: This function is always safe to call
- let application = unsafe { WinFw_ApplyPolicyBlocked(winfw_settings, allowed_endpoint) };
+ let application = unsafe { WinFw_ApplyPolicyBlocked(winfw_settings, allowed_endpoint_ptr) };
application.into_result()
}