From bafbd83bd7cdba4fb0c85b3e9f15a5f1a761648a Mon Sep 17 00:00:00 2001 From: ttyS3 Date: Fri, 6 Sep 2024 14:40:26 +0000 Subject: [PATCH] fix(archive): handle file open error in list_archive method --- src/archive/sevenz.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/archive/sevenz.rs b/src/archive/sevenz.rs index b1e6959..3e3f646 100644 --- a/src/archive/sevenz.rs +++ b/src/archive/sevenz.rs @@ -182,7 +182,13 @@ pub fn list_archive( archive_path: &Path, password: Option<&[u8]>, ) -> impl Iterator> { - let reader = fs::File::open(archive_path).unwrap(); + let reader = fs::File::open(archive_path); + + if let Err(e) = reader { + return vec![Err(Error::IoError {reason:e.to_string()})].into_iter(); + } + + let reader = reader.unwrap(); let mut files = Vec::new();