diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-03-05 17:44:22 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2020-03-06 09:52:32 +0100 |
| commit | 98c71b5ca59792f2da28804b1af0194f952f9880 (patch) | |
| tree | 3f9eac06bfe49e60f114e8ab0b14a8daf87a3ab6 | |
| parent | 95684e74b2797715c103bc2acce42e02ed21d9c1 (diff) | |
| download | mullvadvpn-98c71b5ca59792f2da28804b1af0194f952f9880.tar.xz mullvadvpn-98c71b5ca59792f2da28804b1af0194f952f9880.zip | |
Fix cleanup during route manager initialization
| -rw-r--r-- | talpid-core/src/winnet.rs | 12 |
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 { |
