On Mon, 28 Mar 2022 17:21:40 GMT, Alan Bateman <al...@openjdk.org> wrote:

>> src/java.base/share/classes/java/util/zip/InflaterInputStream.java line 133:
>> 
>>> 131:      * Unlike the {@link InputStream#read(byte[],int,int) overridden 
>>> method}
>>> 132:      * of {@code InputStream}, this method might write more bytes than 
>>> the returned
>>> 133:      * number of inflated bytes into the buffer {@code b}.
>> 
>> Hello Volker, I think this comment should be a bit more clear and state what 
>> exactly it means by writing more bytes than the returned value. 
>> Specifically, I think it should clearly state that even though it might 
>> write additional data, it will however not write/change data starting and 
>> beyond `off + len` index in the passed array.
>
> I think this require a bit of word smithing. If the return value is 'n' then 
> it should make it clear that the values in elements b[off + n] to b[off + len 
> - 1] are undefined, their values may or may have been changed by the 
> inflate/read operation. For completeness, the expectation for when inflate 
> fails should be specified too, the contents of b[off] to b[off + len - 1] 
> will be undefined.

Hi Volker, 

I believe you are heading in the right direction.  I agree with Alan and Jai 
that we could use a bit more clarification

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

PR: https://git.openjdk.java.net/jdk/pull/7986

Reply via email to