From d56767216f5924e8b38aa5283b8f32b223b5905a Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Thu, 3 Aug 2023 19:05:33 -0700 Subject: [PATCH] inputd: Don't panic on open with invalid path --- inputd/src/main.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/inputd/src/main.rs b/inputd/src/main.rs index fa37f58b2c..684368440e 100644 --- a/inputd/src/main.rs +++ b/inputd/src/main.rs @@ -121,7 +121,10 @@ impl SchemeMut for InputScheme { let handle_ty = match command { "producer" => Handle::Producer, "consumer" => { - let target = path_parts.next().unwrap().parse::().unwrap(); + let target = path_parts + .next() + .and_then(|x| x.parse::().ok()) + .ok_or(SysError::new(EINVAL))?; Handle::Consumer { events: EventFlags::empty(), @@ -135,7 +138,10 @@ impl SchemeMut for InputScheme { Handle::Device { device: display } } - _ => unreachable!("inputd: invalid path {path}"), + _ => { + log::error!("inputd: invalid path {path}"); + return Err(SysError::new(EINVAL)); + } }; log::info!("inputd: {path} channel has been opened");