diff --git a/crates/composefs/src/erofs/reader.rs b/crates/composefs/src/erofs/reader.rs index dff97ba..2ed9df6 100644 --- a/crates/composefs/src/erofs/reader.rs +++ b/crates/composefs/src/erofs/reader.rs @@ -4,6 +4,8 @@ //! images, including inode traversal, directory reading, and object //! reference collection for garbage collection. +#![allow(clippy::manual_is_multiple_of)] + use core::mem::size_of; use std::collections::{BTreeSet, HashSet}; use std::ops::Range; @@ -550,8 +552,10 @@ impl ObjectCollector { self.visit_directory_block(img.directory_block(blkid)); } - let tail = DirectoryBlock::ref_from_bytes(inode.inline()).unwrap(); - self.visit_directory_block(tail); + if !inode.inline().is_empty() { + let inline_block = DirectoryBlock::ref_from_bytes(inode.inline()).unwrap(); + self.visit_directory_block(inline_block); + } } Ok(())