diff options
| author | David Lönnhager <david.l@mullvad.net> | 2025-07-14 14:43:27 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2025-07-15 13:45:25 +0200 |
| commit | 0c1498e4474d5837d032b10461548344df770933 (patch) | |
| tree | f28990cefd930deda0765a02f76c4cfac2958cb6 | |
| parent | 307ca91be74be6083ae195974e1a4e3f78a0ec33 (diff) | |
| download | mullvadvpn-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.rs | 5 |
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() } |
