From caf242986ceadc881b29fa9197a70128b6fb8f39 Mon Sep 17 00:00:00 2001 From: rabite Date: Tue, 28 May 2019 15:29:06 +0200 Subject: [PATCH] fix crash in mime_guess when operating on non-regular files --- src/files.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/files.rs b/src/files.rs index 80bbb7b..44f5470 100644 --- a/src/files.rs +++ b/src/files.rs @@ -838,8 +838,15 @@ impl File { let mime = mime_guess::get_mime_type(&ext.to_string_lossy()); Some(mime) } else { - let mime = tree_magic::from_filepath(&self.path); - mime::Mime::from_str(&mime).ok() + // Fix crash in tree_magic when called on non-regular file + self.meta() + .ok() + .and_then(|meta| { + if meta.is_file() { + let mime = tree_magic::from_filepath(&self.path); + mime::Mime::from_str(&mime).ok() + } else { None } + }) } }