From 5d646e2530875649635fcf5cb76bce9092b78f46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Marcos?= Date: Sun, 20 Apr 2025 12:47:01 -0300 Subject: [PATCH] Fix Zip crash when file mode isn't present --- src/archive/zip.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/archive/zip.rs b/src/archive/zip.rs index 55de2f4..9beac49 100644 --- a/src/archive/zip.rs +++ b/src/archive/zip.rs @@ -85,10 +85,8 @@ where )); } - let mode = file.unix_mode().ok_or_else(|| { - std::io::Error::new(std::io::ErrorKind::InvalidData, "Cannot extract file's mode") - })?; - let is_symlink = (mode & 0o170000) == 0o120000; + let mode = file.unix_mode(); + let is_symlink = mode.is_some_and(|mode| mode & 0o170000 == 0o120000); if is_symlink { let mut target = String::new();