[ https://issues.apache.org/jira/browse/THRIFT-4408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King, III updated THRIFT-4408: --------------------------------------- Affects Version/s: 0.11.0 > 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, 0.11.0 > Reporter: Sergey Krutsko > Attachments: thrift_unicode_patch.patch > > > 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)