diff --git a/src/pxar/decoder.rs b/src/pxar/decoder.rs index 39a8096f..6e3a5b23 100644 --- a/src/pxar/decoder.rs +++ b/src/pxar/decoder.rs @@ -381,6 +381,10 @@ impl Decoder { let _filename = self.inner.read_filename(head.size)?; let head: PxarHeader = self.inner.read_item()?; + if head.htype == PXAR_FORMAT_HARDLINK { + let (_, diff) = self.inner.read_hardlink(head.size)?; + return self.read(offset - diff, size, data_offset); + } check_ca_header::(&head, PXAR_ENTRY)?; let _: PxarEntry = self.inner.read_item()?;