[ 
https://issues.apache.org/jira/browse/COMPRESS-608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Madhu Gopanna updated COMPRESS-608:
-----------------------------------
    Attachment: pax-bad-hdr-file.tar
                sparse-formats.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: pax-bad-hdr-file.tar, sparse-formats.tar, 
> 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)

Reply via email to