Hi Raffaello, I think the source change is correct, it’s just that for a deterministic issue, the test generally will fail before the source change and pass with the source change applied. I did not investigate any further, either.
Thanks, Brian > On Aug 6, 2020, at 2:36 PM, Raffaello Giulietti > <raffaello.giulie...@gmail.com> wrote: > > the body of readFully() seems to silently assume that the other arguments are > correct (e.g., off >= 0 and so on). > > In the (still) current implementation of DataInputStream.readFully(byte[], > int, int), when off < 0 and len > 0, in the loop it then invokes the > underlying in.read(byte[], int, int) with a negative offset off + n during > the initial iterations. > > In the specific case of the tests on underlying FileInputStreams, it thus > seems that read(byte[], int, int) does not, in turn, validate its arguments. > I didn't investigate further, although I will in the next days if deemed > necessary.