Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-4446

JSONProtocol Base64 Encoding Trims Padding

    XMLWordPrintableJSON

    Details

    • Patch Info:
      Patch Available

      Description

      In the C# and .NET Core libraries, the JSONProtocol's Binary Encoding to Base64 trims padding from the user provided byte arrays before encoding into Base64. This behavior is incorrect, as the user provided data should be encoded exactly as provided. Otherwise, data may be lost.

      Fixed by no longer trimming padding on encode. Padding must still be trimmed on decode, in accordance with the Base64 specification.

      For example:

      • Before this patch, encoding the byte array [0x01, 0x3d, 0x3d] yields [0x01] upon decode. This is incorrect, as I should decode the exact data that I encoded.
      • After this patch, it yields [0x01, 0x3d, 0x3d], as expected.

      I have submitted a pull request here

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jking3 James E. King III
                Reporter:
                sithas Allen
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: