diff --git a/src/backup/catalog.rs b/src/backup/catalog.rs index 84b0d285..37bbcc41 100644 --- a/src/backup/catalog.rs +++ b/src/backup/catalog.rs @@ -396,7 +396,12 @@ impl CatalogReader { /// Get the root DirEntry pub fn root(&mut self) -> Result { // Root dir is special - // mixme: verify magic + self.reader.seek(SeekFrom::Start(0))?; + let mut magic = [ 0u8; 8]; + self.reader.read_exact(&mut magic)?; + if magic != PROXMOX_CATALOG_FILE_MAGIC_1_0 { + bail!("got unexpected magic number for catalog"); + } self.reader.seek(SeekFrom::End(-8))?; let start = unsafe { self.reader.read_le_value::()? }; Ok(DirEntry { name: b"".to_vec(), attr: DirEntryAttribute::Directory { start } })