In the `class` file format, a lot of the values are `u1` or `u2`; the 
Class-File API consistently model them with `int`. However, the API does not, 
in general, validate that int values passed to the factory methods are not out 
of the bounds as defined in the class file format. This patch proposes to add 
such validation for factory methods accepting such more narrow data, prepared 
by examining all `int`-accepting methods in the Class-File API.

I expect this to have a small compatibility impact - besides the -1 for the 
minor version, there is no other places where most significant bits are ever 
meaningful, and I special cased it and consistently fail fast for all other OOB 
values, which always mean programmer errors.

A CSR will be created soon as well.

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

Commit messages:
 - 8361614: Missing sub-int value validation in the Class-File API

Changes: https://git.openjdk.org/jdk/pull/26201/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26201&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8361614
  Stats: 543 lines in 33 files changed: 439 ins; 57 del; 47 mod
  Patch: https://git.openjdk.org/jdk/pull/26201.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26201/head:pull/26201

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

Reply via email to