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)

Reply via email to