On Thu, 4 Jan 2024 18:32:55 GMT, Markus KARG <d...@openjdk.org> wrote:

>> The final position instead of the number of bytes to write was being passed 
>> to `ByteArrayOuputStream.write(byte[],int,int)`.
>
> src/java.base/share/classes/java/io/BufferedInputStream.java line 650:
> 
>> 648:                 } else {
>> 649:                     // Prevent poisoning and leaking of buf
>> 650:                     byte[] buffer = Arrays.copyOfRange(getBufIfOpen(), 
>> pos, count);
> 
> @bplb Shouldn't it be `avail` *here*, too?

No: the third param of 
[Arrays.copyOfRange](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Arrays.html#copyOfRange(byte[],int,int))
 is `to`, not `len`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17250#discussion_r1442122428

Reply via email to