diff --git a/vfs/ChangeLog b/vfs/ChangeLog index d3263c717..64fd5aa5b 100644 --- a/vfs/ChangeLog +++ b/vfs/ChangeLog @@ -1,3 +1,8 @@ +2004-12-01 Pavel Tsekov + + * tar.c (tar_read_header): Skip over records containing + incremental tar specific info. + 2004-11-29 Jindrich Novy * direntry.c (vfs_s_readlink): Correctly calculate link length. diff --git a/vfs/tar.c b/vfs/tar.c index e377d9348..70d12fe1f 100644 --- a/vfs/tar.c +++ b/vfs/tar.c @@ -403,6 +403,13 @@ tar_read_header (struct vfs_class *me, struct vfs_s_super *archive, else *h_size = tar_from_oct (1 + 12, header->header.size); + /* + * Skip over directory snapshot info records that + * are stored in incremental tar archives. + */ + if (header->header.linkflag == LF_DUMPDIR) + return STATUS_SUCCESS; + header->header.arch_name[NAMSIZ - 1] = '\0'; if (header->header.linkflag == LF_LONGNAME || header->header.linkflag == LF_LONGLINK) {