On Tue, 29 Nov 2022 00:56:58 GMT, Brian Burkhalter <b...@openjdk.org> wrote:
> `java.io.InputStream::transferTo` could conceivably return a negative value > if the count of bytes transferred overflows a `long`. Modify the method to > limit the number of bytes transferred to `Long.MAX_VALUE` per invocation. InputStream.transferTo is specified to transfer "all bytes from this input stream" so changing it to do a "short write" is major change and also creates a big inconsistency with java.io methods such as OutputStream.write that write all bytes. I think other options will need to be explored. We have this same issue in other APIs where they specify that they return Long.MAX_VALUE when the size is larger. It is likely that some of the overrides will need attention too. ------------- Changes requested by alanb (Reviewer). PR: https://git.openjdk.org/jdk/pull/11403