Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-2935

DDMReader.readLengthAndCodePoint() decodes long integer incorrectly

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 10.1.3.1, 10.2.2.0, 10.3.1.4, 10.4.1.3
    • Fix Version/s: 10.3.3.0, 10.4.1.3
    • Component/s: Network Server
    • Labels:
      None

      Description

      DDMReader.readLengthAndCodePoint() contains code to decode a long integer from a byte array. This code is broken since it uses int operations and not long operations in the decoding. The long might be encoded using four, six or eight bytes, and since Derby currently always uses the four bytes encoding, the bug is not exposed in the current code.

        Attachments

        1. decode-long.diff
          2 kB
          Knut Anders Hatlen
        2. test.diff
          2 kB
          Knut Anders Hatlen

          Activity

            People

            • Assignee:
              knutanders Knut Anders Hatlen
              Reporter:
              knutanders Knut Anders Hatlen
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: