[
https://issues.apache.org/jira/browse/COMPRESS-608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Madhu Gopanna updated COMPRESS-608:
-----------------------------------
Attachment: writer-big-long.tar
> Corrupt Tar decompression fails to find all available entries
> -------------------------------------------------------------
>
> Key: COMPRESS-608
> URL: https://issues.apache.org/jira/browse/COMPRESS-608
> Project: Commons Compress
> Issue Type: Bug
> Affects Versions: 1.21
> Reporter: Madhu Gopanna
> Priority: Major
> Attachments: writer-big-long.tar
>
>
> Attached are three Tars that fail to find all available entries (contents)
> and exit with an IO Exception. This change in behavior maybe related to
> specific change log in 1.21 when compared to 1.20 behavior for the same Tars.
> # Tar:
> /gcc-8-8.3.0/gcc-8.3.0.tar.xz!/gcc-8.3.0/libgo/go/archive/tar/testdata/pax-bad-hdr-file.tar
> ## Missing:
> ### PAX1
> ### PAX1/PAX1
> ### /PAX1/PAX1/long-path-name
> ## Not missing: N/A
> ## Exception: java.io.IOException: Failed to read Paxheader.Value should end
> with a newline
> at
> org.apache.commons.compress.archivers.tar.TarUtils.parsePaxHeaders(TarUtils.java:769)
> at
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.paxHeaders(TarArchiveInputStream.java:605)
> at
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:421)
> at com.synopsys.sigcompcore.Application.main(Application.java:34)
> # Tar:
> /gcc-8-8.3.0/gcc-8.3.0.tar.xz!/gcc-8.3.0/libgo/go/archive/tar/testdata/sparse-formats.tar
> ## Missing:
> ### end
> ### sparse-posix-0.0
> ### sparse-posix-0.1
> ### sparse-posix-1.0
> ## Not missing:
> ### sparse-gnu
> ## Exception: java.io.IOException: Truncated TAR archive
> at
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.read(TarArchiveInputStream.java:743)
> at org.apache.commons.compress.utils.IOUtils.readFully(IOUtils.java:197)
> at org.apache.commons.compress.utils.IOUtils.skip(IOUtils.java:129)
> at
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:364)
> at com.synopsys.sigcompcore.Application.main(Application.java:35)
> # Tar:
> /gcc-6-6.1.1/gcc-6.1.0-dfsg.tar!/gcc-6.1.0/libgo/go/archive/tar/testdata/writer-big-long.tar
> ## Missing: 16gig.txt
> ## Not missing: N/A
> ## Exception: java.io.IOException: Corrupted TAR archive, sparse entry is
> invalid
> at
> org.apache.commons.compress.archivers.tar.TarUtils.readSparseStructs(TarUtils.java:350)
> at
> org.apache.commons.compress.archivers.tar.TarArchiveEntry.parseTarHeaderUnwrapped(TarArchiveEntry.java:1656)
> at
> org.apache.commons.compress.archivers.tar.TarArchiveEntry.parseTarHeader(TarArchiveEntry.java:1595)
> at
> org.apache.commons.compress.archivers.tar.TarArchiveEntry.<init>(TarArchiveEntry.java:556)
> at
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:379)
> at com.synopsys.sigcompcore.Application.main(Application.java:37)
> Caused by: java.lang.IllegalArgumentException: Invalid byte 97 at offset 0 in
> 'ame/longname' len=12
> at
> org.apache.commons.compress.archivers.tar.TarUtils.parseOctal(TarUtils.java:153)
> at
> org.apache.commons.compress.archivers.tar.TarUtils.parseOctalOrBinary(TarUtils.java:183)
> at
> org.apache.commons.compress.archivers.tar.TarUtils.parseSparse(TarUtils.java:324)
> at
> org.apache.commons.compress.archivers.tar.TarUtils.readSparseStructs(TarUtils.java:339)
> ... 5 more
--
This message was sent by Atlassian Jira
(v8.20.1#820001)