Sergey Krutsko created THRIFT-4408:
--------------------------------------
Summary: Some unicode characters can't be parsed with Thrift Java
Key: THRIFT-4408
URL: https://issues.apache.org/jira/browse/THRIFT-4408
Project: Thrift
Issue Type: Bug
Components: Java - Compiler
Affects Versions: 0.10.0
Reporter: Sergey Krutsko
Priority: Minor
If string field of thrift object contains character
<
encoded as "\uff1c then parser can't parse such object at all and fails with:
{code}
java.lang.IllegalArgumentException: -228
at java.lang.String.<init>(String.java:266)
at
org.apache.thrift.protocol.TJSONProtocol.readJSONString(TJSONProtocol.java:691)
{code}
Here the unit test to reproduce it:
{code}
@Test
public void readUnicode_uff1c() throws Exception {
String jsonEncodedEntity = "{\"1\":{\"str\":\"\\uff1c\"}}";
byte[] bytesEntity = jsonEncodedEntity.getBytes();
TMemoryBuffer memoryBuffer = new TMemoryBuffer(bytesEntity.length);
memoryBuffer.write(bytesEntity);
memoryBuffer.close();
TJSONProtocol protocol = new TJSONProtocol(memoryBuffer);
protocol.readStructBegin();
protocol.readFieldBegin();
assertEquals("<", protocol.readString());
}
{code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)