> `GZIPInputStream`, when looking for a concatenated stream, relies on what the 
> underlying `InputStream` says is how many bytes are `available()`. But this 
> is inappropriate because `InputStream.available()` is just an estimate and is 
> allowed (for example) to always return zero.
> 
> The fix is to ignore what's `available()` and just proceed and see what 
> happens. If fewer bytes are available than required, the attempt to extend to 
> another stream is canceled just as it was before, e.g., when the next stream 
> header couldn't be read.

Archie Cobbs has updated the pull request with a new target base due to a merge 
or a rebase. The incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains 10 additional commits since the 
last revision:

 - Merge branch 'master' into JDK-7036144
 - Back-out Javadoc addition; to be added in a separate issue.
 - Document the handling of concatenated streams.
 - Merge branch 'master' into JDK-7036144
 - Merge branch 'master' into JDK-7036144
 - Merge branch 'master' into JDK-7036144
 - Address third round of review comments.
 - Address second round of review comments.
 - Address review comments.
 - Fix bug in GZIPInputStream when underlying available() returns short.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/17113/files
  - new: https://git.openjdk.org/jdk/pull/17113/files/04072c19..d567cef2

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=17113&range=08
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17113&range=07-08

  Stats: 26396 lines in 568 files changed: 13590 ins; 10571 del; 2235 mod
  Patch: https://git.openjdk.org/jdk/pull/17113.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17113/head:pull/17113

PR: https://git.openjdk.org/jdk/pull/17113

Reply via email to