RFR: 8377568: DataBuffer constructors and methods do not specify required exceptions [v6]

Phil Race prr at openjdk.org
Fri Feb 20 21:40:35 UTC 2026


> 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/29766/files
  - new: https://git.openjdk.org/jdk/pull/29766/files/f17761b4..2685b305

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=29766&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29766&range=04-05

  Stats: 441 lines in 8 files changed: 58 ins; 247 del; 136 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


More information about the client-libs-dev mailing list