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.

A CSR will be submitted.

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

Commit messages:
 - 8377568
 - 8377568

Changes: https://git.openjdk.org/jdk/pull/29766/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29766&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8377568
  Stats: 1546 lines in 9 files changed: 1520 ins; 2 del; 24 mod
  Patch: https://git.openjdk.org/jdk/pull/29766.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29766/head:pull/29766

PR: https://git.openjdk.org/jdk/pull/29766

Reply via email to