RFR: 8349909: jdk.internal.jimage.decompressor.ZipDecompressor does not close the Inflater in exceptional cases
Jaikiran Pai
jpai at openjdk.org
Fri Feb 14 07:46:29 UTC 2025
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
More information about the core-libs-dev
mailing list