Please review this fix for JDK-8256867.  This change no longer throws a 
ClassFormatError exception when loading a class whose PermittedSubclasses 
attribute is empty (contains no classes).  Instead, the class is treated as a 
sealed class which cannot be extended nor implemented.  This new behavior 
conforms to the JVM Spec.

This change required changing Class.permittedSubclasses() to return an empty 
array for classes with empty PermittedSubclasses attributes, and to return null 
for non-sealed classes.

This fix was tested with Mach5 tiers 1-2 on Linux, MacOS, and Windows, and 
tiers 3-5 on Linux x64.

Thanks, Harold

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

Commit messages:
 - 8256867: Classes with empty PermittedSubclasses attribute cannot be extended

Changes: https://git.openjdk.java.net/jdk/pull/1675/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1675&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8256867
  Stats: 156 lines in 8 files changed: 100 ins; 13 del; 43 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1675.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1675/head:pull/1675

PR: https://git.openjdk.java.net/jdk/pull/1675

Reply via email to