[
https://issues.apache.org/jira/browse/COMPRESS-279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13980530#comment-13980530
]
PeterL in commented on COMPRESS-279:
------------------------------------
Hi Stefan,
I saw this behavior on v1.4. However, I think it is the correct behavior. If
you try to use command line 'tar' it will throw the following message:
tar xvf trim.tar
LICENSE.txt
NOTICE.txt
README.txt
RELEASE-NOTES.txt
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Don't you think the Java version should at least indicate something is wrong
maybe with a flag to turn it silent or so..
> TarArchiveInputStream silently finished when unexpected EOF occured
> -------------------------------------------------------------------
>
> Key: COMPRESS-279
> URL: https://issues.apache.org/jira/browse/COMPRESS-279
> Project: Commons Compress
> Issue Type: Bug
> Components: Archivers
> Affects Versions: 1.7, 1.8
> Environment: Common Compress 1.7 + openJDK 1.7
> Reporter: PeterL in
> Labels: regression, tar
> Fix For: 1.9
>
> Attachments: complete.tar, trim.tar, trim.tar.bz2
>
>
> I just found the following test case didn't raise an IOException as it used
> to be for a *tar trimmed on purpose*
> @Test
> public void testCorruptedBzip2() throws IOException {
> String archivePath = PathUtil.join(testdataDir, "test.tar.bz2");
> TarArchiveInputStream input = null;
> input = new TarArchiveInputStream(new BZip2CompressorInputStream(
> GoogleFile.SYSTEM.newInputStream(archivePath), true));
> ArchiveEntry nextMatchedEntry = input.getNextEntry();
> while (nextMatchedEntry != null) {
> logger.infofmt("Extracting %s", nextMatchedEntry.getName());
> String outputPath = PathUtil.join("/tmp/", nextMatchedEntry.getName());
> OutputStream out = new FileOutputStream(outputPath);
> ByteStreams.copy(input, out);
> out.close();
> nextMatchedEntry = input.getNextEntry();
> }
> }
--
This message was sent by Atlassian JIRA
(v6.2#6252)