On Tue, 3 Jun 2025 06:35:09 GMT, Jaikiran Pai <j...@openjdk.org> wrote:

> Can I please get a review of this change which addresses the issue noted in 
> https://bugs.openjdk.org/browse/JDK-8358456?
> 
> In Java 24, through https://bugs.openjdk.org/browse/JDK-8341597 we did a 
> change which started using the "compressed size" field value for computing a 
> input buffer size for the `InflaterInputStream`. The change was reasonable. 
> One part of the change removed a check for  ` <= 0` which would have taken 
> into account invalid/unexpected "compressed size" values:
> From https://github.com/openjdk/jdk/pull/21379
>> There is a check for size <= 0. This condition is unreachable in the current 
>> code and in the PR as well, since the compressed size will always be >= 2. I 
>> propose we remove this check.
> 
> Without that check, the computed input buffer size can end up being `<= 0` 
> which is an invalid value for a buffer size and thus results in an 
> `IllegalArgumentException` from the `InflaterInputStream` constructor.
> 
> My initial thought was to catch the the `IllegalArgumentException` and 
> rethrow a `ZipException`, but thinking about it, this clearly is more an 
> issue with the value that we computed as an input buffer size. So I believe 
> the right thing here is to reintroduce the check that was previously in place 
> and in such cases just default to reasonable sized buffer. That's what the 
> commit in this PR does. Additionally, I renamed that variable to 
> `inputBufSize` to be clear what this `size` represents.
> 
> A new jtreg test has been introduced which reproduces the issue and verifies 
> the fix. tier testing is currently in progress.
> 
> P.S: As a separate task we might want to do a similar change as what was done 
> in JDK-8341597, to the `ZipFileSystem` code. It currently uses the 
> uncompressed size of the entry to decide the input buffer size.

Would be interesting to know what kind of tooling produced this 
invalid/surprising compressed size. The JBS issues do indicate this from what I 
can tell.

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

PR Comment: https://git.openjdk.org/jdk/pull/25606#issuecomment-2934344795

Reply via email to