Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
When unpacking an CPIO archive (made with the compress classes or even made with OSX cpio comandline tool) an EOF exception is thrown.
Here is the testcode:
final File input = getFile("cmdcreated.cpio");
final InputStream in = new FileInputStream(input);
CpioArchiveInputStream cin = new CpioArchiveInputStream(in);
CpioArchiveEntry entry = null;
while ((entry = (CpioArchiveEntry) cin.getNextCPIOEntry()) != null)
{ File target = new File(dir, entry.getName()); final OutputStream out = new FileOutputStream(target); IOUtils.copy(in, out); out.close(); }cin.close();
Stacktrace is here:
java.io.EOFException
at org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream.readFully(CpioArchiveInputStream.java:293)
at org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream.getNextCPIOEntry(CpioArchiveInputStream.java:168)
at org.apache.commons.compress.archivers.cpio.CpioArchiveInputStreamTest.testCpioUnpack(CpioArchiveInputStreamTest.java:26)
...
This happens with the first read access to the archive. It occured while my try to improve the testcases.