Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6930553

classfile format checker allows invalid method descriptor in CONSTANT_NameAndType_info in some cases

XMLWordPrintable

    • b03
    • generic
    • generic

        JVMS section 4.4.6 states as follows:
          ---Excerpt-from-spec---
          CONSTANT_NameAndType_info {
            u1 tag;
            u2 name_index;
            u2 descriptor_index;
          }
          ...

          The items of the CONSTANT_NameAndType_info structure are as follows:
          ...
          descriptor_index

          The value of the descriptor_index item must be a valid index into the
          constant_pool table. The constant_pool entry at that index must be a
          CONSTANT_Utf8_info (4.4.7) structure representing a *valid* field descriptor
          (4.3.2) or method descriptor (4.3.3).
          ---End-of-excerpt---

        However, JVM class format checker does not reject classes with invalid
        (according to Section 4.3.3) method descriptors at the descriptor_index
        in the CONSTANT_NameAndType_info structure (like "(#)V", "(.)V", "(;)V",
        "()V#" or similar) if there are *NO any explicit or implicit references*
        to this NameAndType from a class methods bytecodes.

              kamg Keith Mcguigan (Inactive)
              ygaevsky Yuri Gaevsky (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: