[ https://issues.apache.org/jira/browse/COMPRESS-463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17163635#comment-17163635 ]
Stefan Bodewig commented on COMPRESS-463: ----------------------------------------- With Compress 1.7 the implementation for reading stored entries has changed and introduced a flaky behavior where {{read}} would alternate between -1 and a non-negative number returned which can throw {{InputStreamReader}} into an infinite loop. Compress 1.6 and earlier would have returned -1 consistently and thus not cause an infinite loop - but it would also not properly signal the archive as corrupted and give you the false impression you'd have read the entry completely. > ZipArchiveInputStream should throw if stored entry ends prematurely > ------------------------------------------------------------------- > > Key: COMPRESS-463 > URL: https://issues.apache.org/jira/browse/COMPRESS-463 > Project: Commons Compress > Issue Type: Bug > Components: Archivers > Affects Versions: 1.17 > Reporter: Stefan Bodewig > Priority: Major > Labels: zip > Fix For: 1.18 > > > If the archive stream ends before the claimed size of a stored entry has been > hit the stream returns -1 rather than throwing a "truncated archive" > exception like it would do for deflated entries. > Because of this it is impossible to detect a truncated stored entry. -- This message was sent by Atlassian Jira (v8.3.4#803005)