aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2022-12-28 18:23:57 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2022-12-28 18:23:57 +0100
commit558ab6027aad0e88cfe878b4017ec04e68f0295b (patch)
treeb504d331f08e5ee6553c055e92c255d59b183e42 /src/main.rs
parent196274f477c55bf30595b07029ab402a863bd0e7 (diff)
print unicode errors instead of causing a kernel panic
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index 71a4c87..a7f1acc 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,3 +1,4 @@
+use anyhow::bail;
use std::fs;
use std::io::Write;
use std::process::Command;
@@ -12,10 +13,10 @@ fn start() -> anyhow::Result<()> {
for service in fs::read_dir("/bin")? {
let service = service?;
- let service_name = service
- .file_name()
- .into_string()
- .expect("invalid unicode in file name");
+ let service_name = match service.file_name().into_string() {
+ Ok(v) => v,
+ Err(_) => bail!("[ ERROR ] invalid unicode in file name"),
+ };
if service_name == "init" {
continue;