On Mon, 5 Oct 2026 02:53:37 GMT, Yunbo Zhang <[email protected]> wrote:

>> Please review this small fix.
>> 
>> `MethodHandles.foldArguments` throws an unspecified 
>> `ArrayIndexOutOfBoundsException` for negative `pos` values. Extreme values 
>> such as `Integer.MAX_VALUE` can also overflow the existing addition-based 
>> bounds check.
>> 
>> **Fix:**
>> 
>> Reject invalid positions with `IllegalArgumentException` and include the 
>> position in the error message. Use a subtraction-based bounds check to avoid 
>> overflow, and document the valid range for `pos`.
>> 
>> **Testing:**
>> 
>> - Added regression tests.
>> - `make test TEST=test/jdk/java/lang/invoke`: 198 passed, 4 excluded, 0 
>> failed.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Yunbo Zhang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8367022: MethodHandles.foldArguments throws unspecified 
> ArrayIndexOutOfBoundsException for negative pos
>   
>   Document the legal fold position range and report an invalid position 
> before checking target and combiner types.

I've created the CSR here: https://bugs.openjdk.org/browse/JDK-8393749

I'll ask my colleague to review it, then I will submit it.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/32618#issuecomment-6042453580

Reply via email to