Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Final array elements are not themselves final.
So any final arrays should always be private, otherwise external code can corrupt the entries accidentally or deliberately.
Either the array can be accessed through a getter that clones the contents, or the entries can be accessed through a getter that returns a single entry.
This issue affects:
Constants.class:
CONSTANT_NAMES
ACCESS_NAMES
INTERFACES_IMPLEMENTED_BY_ARRAYS
TYPE_NAMES
CLASS_TYPE_NAMES
SHORT_TYPE_NAMES
NO_OF_OPERANDS
TYPE_OF_OPERANDS
OPCODE_NAMES
CONSUME_STACK
PRODUCE_STACK
ATTRIBUTE_NAMES
ITEM_NAMES
METHODHANDLE_NAMES