On Mon, 23 Feb 2026 23:34:55 GMT, Phil Race <[email protected]> wrote:

>> This fix updates DataBuffer subclasses to actually adhere to their stated 
>> specifications by rejecting certain invalid parameters for constructors and 
>> getters and setters.
>> A new egression test for each of the constructor and getter/setter cases is 
>> supplied.
>> 
>> No existing regression tests fail with this change, and standard demos work.
>> 
>> Problems caused by these changes are most likely to occur if the client has 
>> a bug such that 
>> - a client uses the constructors that accept an array and then supplies a 
>> "size" that is greater than the array.
>> - a client uses the constructors that accept an array and then supplies a 
>> "size" that is less than the array and then uses getter/setters that are 
>> within the array but outside the range specified by size. 
>> 
>> Since very few clients (and just one case in the JDK that I found) even use 
>> these array constructors the changes are unlikely to make a difference to 
>> clients.
>> 
>> The CSR is ready for review https://bugs.openjdk.org/browse/JDK-8378116
>
> Phil Race has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8377568

src/java.desktop/share/classes/java/awt/image/DataBuffer.java line 578:

> 576: 
> 577:     static final void checkArraySize(int size, int offset, int arrayLen) 
> {
> 578:         if (size <= 0 || (size + offset) > arrayLen  ||

Suggestion:

        if (size <= 0 || (size + offset) > arrayLen ||

test/jdk/java/awt/image/DataBuffer/DataBufferConstructorTest.java line 717:

> 715:         // DataBufferFloat(byte[][] dataArray, int size)
> 716:         testFloatConstructor(nullFloatArrays, 0, 
> NullPointerException.class);
> 717:         testFloatConstructor(zeroFloatSubArrays, 0,  
> IllegalArgumentException.class);

Suggestion:

        testFloatConstructor(zeroFloatSubArrays, 0, 
IllegalArgumentException.class);

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

PR Review Comment: https://git.openjdk.org/jdk/pull/29766#discussion_r2872145618
PR Review Comment: https://git.openjdk.org/jdk/pull/29766#discussion_r2872147128

Reply via email to