diff --git a/src/uu/lsmem/src/lsmem.rs b/src/uu/lsmem/src/lsmem.rs
index e798811..e97666a 100644
--- a/src/uu/lsmem/src/lsmem.rs
+++ b/src/uu/lsmem/src/lsmem.rs
@@ -686,11 +686,15 @@ fn read_file_content<T: core::str::FromStr>(path: &Path) -> io::Result<T>
 where
     T::Err: std::fmt::Debug, // Required to unwrap the result of T::from_str
 {
-    let file = fs::File::open(path)?;
+    let file = fs::File::open(path).expect("Failed to open file");
     let mut reader = BufReader::new(file);
     let mut content = String::new();
-    reader.read_line(&mut content)?;
-    Ok(content.trim().to_string().parse().unwrap())
+    reader.read_line(&mut content).expect("Failed to read line");
+    content
+        .trim()
+        .to_string()
+        .parse()
+        .map_err(|_| io::Error::new(io::ErrorKind::InvalidData, "Failed to parse content"))
 }
 
 #[uucore::main]