Stefan Bodewig created COMPRESS-436: ---------------------------------------
Summary: ZipArchiveInputStream#getNextZipEntry should throw an exception if compressed size is unknown for bzip2, implode etc. Key: COMPRESS-436 URL: https://issues.apache.org/jira/browse/COMPRESS-436 Project: Commons Compress Issue Type: Bug Components: Archivers Affects Versions: 1.15 Reporter: Stefan Bodewig Fix For: 1.16 {code} if (current.entry.getCompressedSize() != ArchiveEntry.SIZE_UNKNOWN) { if (current.entry.getMethod() == ZipMethod.UNSHRINKING.getCode()) { current.in = new UnshrinkingInputStream(new BoundedInputStream(in, current.entry.getCompressedSize())); } else if (current.entry.getMethod() == ZipMethod.IMPLODING.getCode()) { current.in = new ExplodingInputStream( current.entry.getGeneralPurposeBit().getSlidingDictionarySize(), current.entry.getGeneralPurposeBit().getNumberOfShannonFanoTrees(), new BoundedInputStream(in, current.entry.getCompressedSize())); } else if (current.entry.getMethod() == ZipMethod.BZIP2.getCode()) { current.in = new BZip2CompressorInputStream(new BoundedInputStream(in, current.entry.getCompressedSize())); } } {code} never sets {{current.in}} if the compressed size is unknown which probably leads to a NullPointerException in {{read}} later. We should fail early with a useful error message instead. -- This message was sent by Atlassian JIRA (v6.4.14#64029)