summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2020-03-05 17:44:22 +0100
committerDavid Lönnhager <david.l@mullvad.net>2020-03-06 09:52:32 +0100
commit98c71b5ca59792f2da28804b1af0194f952f9880 (patch)
tree3f9eac06bfe49e60f114e8ab0b14a8daf87a3ab6
parent95684e74b2797715c103bc2acce42e02ed21d9c1 (diff)
downloadmullvadvpn-98c71b5ca59792f2da28804b1af0194f952f9880.tar.xz
mullvadvpn-98c71b5ca59792f2da28804b1af0194f952f9880.zip
Fix cleanup during route manager initialization
-rw-r--r--talpid-core/src/winnet.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/talpid-core/src/winnet.rs b/talpid-core/src/winnet.rs
index 256695eb5c..21b5bb3ae7 100644
--- a/talpid-core/src/winnet.rs
+++ b/talpid-core/src/winnet.rs
@@ -260,8 +260,16 @@ impl Drop for WinNetRoute {
}
pub fn activate_routing_manager(routes: &[WinNetRoute]) -> bool {
- return unsafe { WinNet_ActivateRouteManager(Some(log_sink), logging_context()) }
- && routing_manager_add_routes(routes);
+ if unsafe { WinNet_ActivateRouteManager(Some(log_sink), logging_context()) } {
+ if routing_manager_add_routes(routes) {
+ true
+ } else {
+ deactivate_routing_manager();
+ false
+ }
+ } else {
+ false
+ }
}
pub struct WinNetCallbackHandle {