[jdk9] (XS) RFR: 8165243: Base64.Encoder.wrap(os).write(byte[], int, int) with incorrect arguments should not produce output
Ivan Gerasimov
ivan.gerasimov at oracle.com
Thu Sep 1 16:40:12 UTC 2016
Hello!
An encoding output stream 'es' can be obtained as encoder.wrap(os).
Normally, es.write(buf, off, len) throws IndexOutOfBoundException, if
the referenced portion lies outside of the buffer.
In this case, nothing is written to the underlying output stream 'os'.
However, if (off + len) overflows, then the call to write() will produce
some output, and only when it reaches the boundary of the buf will it
throw the exception.
This behavior looks inconsistent.
Would you please help review the simple fix?
BUGURL: https://bugs.openjdk.java.net/browse/JDK-8165243
WEBREV: http://cr.openjdk.java.net/~igerasim/8165243/00/webrev/
With kind regards,
Ivan
More information about the core-libs-dev
mailing list