[
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)