diff --git a/common/directory/src/lib.rs b/common/directory/src/lib.rs index d042f8dfadc..d7680fc83e9 100644 --- a/common/directory/src/lib.rs +++ b/common/directory/src/lib.rs @@ -77,5 +77,9 @@ pub fn size_of_dir(path: &Path) -> u64 { } fn size_of_dir_entry(dir: fs::DirEntry) -> u64 { - dir.metadata().map(|m| m.len()).unwrap_or(0) + match dir.metadata() { + Ok(metadata) if metadata.is_dir() => size_of_dir(&dir.path()), + Ok(metadata) => metadata.len(), + Err(_) => 0, + } }