You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Steve Niemitz (JIRA)" <ji...@apache.org> on 2015/07/29 20:12:04 UTC

[jira] [Created] (THRIFT-3276) Binary data does not decode correctly using the TJSONProtocol when the base64 encoded data is padded.

Steve Niemitz created THRIFT-3276:
-------------------------------------

             Summary: Binary data does not decode correctly using the TJSONProtocol when the base64 encoded data is padded.
                 Key: THRIFT-3276
                 URL: https://issues.apache.org/jira/browse/THRIFT-3276
             Project: Thrift
          Issue Type: Bug
          Components: Java - Library
            Reporter: Steve Niemitz


If the base64 encoded JSON string has padding bytes at the end, the resulting binary data returned in the thrift object ends up with extra padding bytes (0xFF) at the end.

It seems like this is caused by the TJSONProtocol [using the padded length|https://github.com/apache/thrift/blob/0.9.1/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java#L760] when it tries to decode the last chunk, which results in the '=' being converted into binary data.  The DECODE_TABLE defaults to -1 (0xFF), which is how it gets into the final output.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)