RFR: 8343984: Fix Unsafe address overflow [v2]
Shaojin Wen
swen at openjdk.org
Tue Nov 12 08:26:46 UTC 2024
On Tue, 12 Nov 2024 08:15:33 GMT, Per Minborg <pminborg at openjdk.org> wrote:
>> Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:
>>
>> revert, from @minborg
>
> src/java.base/share/classes/sun/nio/cs/StringUTF16.java line 35:
>
>> 33: public static char getChar(byte[] val, int index) {
>> 34: return unsafe.getChar(val,
>> 35: (long) ARRAY_BYTE_BASE_OFFSET + ARRAY_BYTE_INDEX_SCALE * index * 2L);
>
> This expression already contains `2L` which is a `long`. So, isn't the result of the multiplications of type `long`, and consequently, isn't the entire expression calculated with `long` precision as it is?
You are right, there is no need to add an explicit type conversion here.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22027#discussion_r1837663142
More information about the core-libs-dev
mailing list