From 384a7accd5ac33e152dba9bcce7004d8d45874ec Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Thu, 29 Jan 2026 02:52:16 +0100 Subject: [PATCH 1/2] kernman: Finish implement of name expansion in KernelInfo --- src/kerman.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/kerman.rs b/src/kerman.rs index 06825ad..a67ba62 100644 --- a/src/kerman.rs +++ b/src/kerman.rs @@ -178,7 +178,7 @@ impl KernelInfo { let out = Command::new(MOD_INFO_EXE).arg(name).output(); match out { - Ok(_) => match String::from_utf8(out.unwrap().stdout) { + Ok(output) => match String::from_utf8(output.stdout) { Ok(data) => { for line in data.lines().map(|el| el.replace(' ', "")) { if line.starts_with("filename:/") && line.contains("/kernel/") { @@ -194,9 +194,15 @@ impl KernelInfo { } } } - Err(_) => todo!(), + Err(e) => { + // Failed to parse UTF-8 from modinfo output + eprintln!("Warning: Failed to parse modinfo output for '{}': {}", name, e); + } }, - Err(_) => todo!(), + Err(e) => { + // Failed to execute modinfo command + eprintln!("Warning: Failed to execute modinfo for '{}': {}", name, e); + } } name From de0d87e662295645df5ca0111fdde69b66b8abb1 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Fri, 30 Jan 2026 12:55:42 +0100 Subject: [PATCH 2/2] Handle the failure in the kernel info properly --- src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 32993df..3e98ef0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,9 +17,9 @@ pub fn get_kernel_infos(rootfs: Option<&str>) -> Result, Error> let mut kernels: Vec = vec![]; - for fres in read_dir(format!("{}{}", rfs_path.trim_end_matches("/"), MOD_D)).unwrap() { - let fd = fres.unwrap(); - if fd.file_type().unwrap().is_dir() { + for fres in read_dir(format!("{}{}", rfs_path.trim_end_matches("/"), MOD_D))? { + let fd = fres?; + if fd.file_type()?.is_dir() { let kinfo: KernelInfo = KernelInfo::new(rfs_path, fd.path().file_name().unwrap().to_str().unwrap())?; if kinfo.is_valid() {