-
Bug
-
Resolution: Fixed
-
P3
-
unknown
-
1.6
-
generic
-
generic
-
Verified
Name: vrR10176 Date: 08/13/2003
JVMS-2 has the assertions about array dimensions:
"4.10 Limitations of the Java Virtual Machine
...
The number of dimensions in an array is limited to 255 by the size of
the dimensions opcode of the multianewarray instruction and by the
constraints imposed on the multianewarray, anewarray, and newarray
instructions by ?4.8.2.
..."
and
"4.4.1 The CONSTANT_Class_info Structure
...
An array type descriptor is valid only if it represents 255 or fewer dimensions."
It looks like the last assertion is applied to the chapter 4.4.1 only.
But the chapters:
2.7.5 Fully Qualified Names
4.2 The Internal Form of Fully Qualified Class and Interface Names
4.3 Descriptors (4.3.2 Field Descriptors and 4.3.3 Method Descriptors)
say nothing about a number of dimensions limitation.
Further, the following chapters:
4.4.6 The CONSTANT_NameAndType_info Structure
4.5 Fields
4.6 Methods
refer to definitions of field descriptors and method descriptors
(descriptor_index) and also say nothing about a dimensions limitation.
So according to JVMS-2 the descriptor_index of CONSTANT_NameAndType_info,
field_info or method_info structures may refer to field descriptor representing
more than 255 dimensions or method descriptor with similar ParameterDescriptor
or ReturnDescriptor.
======================================================================
- relates to
-
JDK-6901306 classfile format checker permits array descriptor of more than 255 dims in CONSTANT_NameAndType_info
- Closed