summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--talpid-core/src/split_tunnel/windows/driver.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/talpid-core/src/split_tunnel/windows/driver.rs b/talpid-core/src/split_tunnel/windows/driver.rs
index b43e566680..a539c84e3c 100644
--- a/talpid-core/src/split_tunnel/windows/driver.rs
+++ b/talpid-core/src/split_tunnel/windows/driver.rs
@@ -22,7 +22,7 @@ use winapi::{
in6addr::IN6_ADDR,
inaddr::IN_ADDR,
minwindef::{FALSE, TRUE},
- winerror::ERROR_IO_PENDING,
+ winerror::{ERROR_INVALID_PARAMETER, ERROR_IO_PENDING},
},
um::{
handleapi::CloseHandle,
@@ -422,6 +422,13 @@ fn build_process_tree() -> io::Result<Vec<ProcessInfo>> {
io::ErrorKind::PermissionDenied => continue,
// System idle or csrss process
io::ErrorKind::InvalidInput => continue,
+ io::ErrorKind::Other => {
+ // Old rust lib maps INVALID_PARAMETER to "Other"
+ if error.raw_os_error() == Some(ERROR_INVALID_PARAMETER as i32) {
+ continue;
+ }
+ Err(error)
+ }
_ => Err(error),
}
}