Can I please get a review of this change which proposes to properly close the 
`Inflater` instance used in 
`jdk.internal.jimage.decompressor.ZipDecompressor.decompress()` method? This 
addresses https://bugs.openjdk.org/browse/JDK-8349909.

As noted in that issue, in the exceptional case in the `decompress()` method, 
the `Inflater` instance isn't currently being closed. The commit in this PR 
uses a try/finally block to `end()` the `Inflater` instance.

Unlike some other places within the JDK, the code in 
`jdk.internal.jimage.decompressor.ZipDecompressor` is expected to maintain Java 
8 (API) compatibility, so this part of the code cannot use the newly introduced 
`Inflater.close()` method and thus cannot use the try-with-resources statement 
too.

No new tests have been added given the nature of this change. A noreg label has 
been added to the JBS issue. Existing tests in tier1, tier2 and tier3 continue 
to pass with this change.

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

Commit messages:
 - 8349909: jdk.internal.jimage.decompressor.ZipDecompressor does not close the 
Inflater in exceptional cases

Changes: https://git.openjdk.org/jdk/pull/23626/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23626&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8349909
  Stats: 11 lines in 1 file changed: 4 ins; 2 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/23626.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23626/head:pull/23626

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

Reply via email to