8219196: DataOutputStream.writeUTF may throw unexpected exceptions
martinrb at google.com
Fri Mar 15 19:54:07 UTC 2019
On Fri, Mar 15, 2019 at 12:46 PM Brian Burkhalter <
brian.burkhalter at oracle.com> wrote:
> May I ask “why” if it cannot exceed 65535?
You're right, that was a bad idea ...
The repetition of the overflow check bothers me.
Another idea: simply move the existing utflen > 65535 into the loop.
With modern processors, that should be close to free.
> On Mar 15, 2019, at 12:40 PM, Martin Buchholz <martinrb at google.com> wrote:
> Consider changing utflen to a long.
> On Fri, Mar 15, 2019 at 12:25 PM Brian Burkhalter <
> brian.burkhalter at oracle.com> wrote:
>> For  please review the proposed fix . It is possible to
>> preemptively detect a sufficient condition for when the length of the
>> modified UTF-8 encoding of the string parameter will exceed the maximum
>> allowed value and thereby avert any numerical overflow in incrementing the
>> accumulator which counts the number of encoded characters.
>>  https://bugs.openjdk.java.net/browse/JDK-8219196
>>  http://cr.openjdk.java.net/~bpb/8219196/webrev.00/
More information about the core-libs-dev