[
https://issues.apache.org/jira/browse/THRIFT-2891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer updated THRIFT-2891:
-------------------------------
Description:
The Go implementation relies on {{base64.StdEncoding.Decode}} which expects the
base64 encoding to be complete with padding.
With Thrift it is legal to transfer binary data via JSON without padding, but
the standard package can't handle this and returns an error instead ("invalid
base64 data at offset N").
was:
The Delphi implementation currently relies on IdCoderMIME for base64
encoding/decoding, which expects the base64 encoding to be complete with
padding.
With Thrift it is legal to transfer binary data via JSON without padding, but
IdCoderMIME fails to handle this case correctly. Depending on the length of the
data, up to 2 bytes from the end of a binary data block may get lost.
Summary: binary data may cause a failure with JSON transport under
specific circumstances (was: binary data may lose bytes with JSON transport
under specific circumstances)
> binary data may cause a failure with JSON transport under specific
> circumstances
> --------------------------------------------------------------------------------
>
> Key: THRIFT-2891
> URL: https://issues.apache.org/jira/browse/THRIFT-2891
> Project: Thrift
> Issue Type: Bug
> Components: Go - Library
> Affects Versions: 0.9.1, 0.9.2
> Reporter: Jens Geyer
> Assignee: Jens Geyer
> Fix For: 0.9.3
>
>
> The Go implementation relies on {{base64.StdEncoding.Decode}} which expects
> the base64 encoding to be complete with padding.
> With Thrift it is legal to transfer binary data via JSON without padding, but
> the standard package can't handle this and returns an error instead ("invalid
> base64 data at offset N").
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)