Skip to content

Commit c9079c1

Browse files
authored
Merge pull request #1 from linkmauve/fix-crash-on-missing-permission
Fix crash when device doesn’t have write permission
2 parents 4a904dd + 41be2a2 commit c9079c1

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/lib.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,14 @@ impl UsbIpServer {
4747
let mut devices = vec![];
4848
if let Ok(list) = rusb::devices() {
4949
for dev in list.iter() {
50-
let handle = Arc::new(Mutex::new(dev.open().unwrap()));
50+
let open_device = match dev.open() {
51+
Ok(dev) => dev,
52+
Err(err) => {
53+
println!("Impossible to share {:?}: {}", dev, err);
54+
continue;
55+
}
56+
};
57+
let handle = Arc::new(Mutex::new(open_device));
5158
let desc = dev.device_descriptor().unwrap();
5259
let cfg = dev.active_config_descriptor().unwrap();
5360
let mut interfaces = vec![];

0 commit comments

Comments
 (0)