Alon Bar-Lev created CXF-7496:
---------------------------------
Summary: Parsing Bug in
org.apache.cxf.jaxrs.json.basic.JsonMapObjectReaderWriter: in-string "{"
Key: CXF-7496
URL: https://issues.apache.org/jira/browse/CXF-7496
Project: CXF
Issue Type: Bug
Components: JAX-RS
Affects Versions: 3.1.12, 3.1.7
Environment: java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Reporter: Alon Bar-Lev
Hello,
We have found incorrect parsing of "{" within JSON strings. It seems like the
parser searches for "{" and "}" regardless of string boundary.
A reproduction program is attached, using latest 3.1.12 version.
Thanks!
h2. REPRODUCTION
{code}
import org.apache.cxf.jaxrs.json.basic.JsonMapObjectReaderWriter;
public class JsonMapReaderNotWorking {
public static void main(String args[]) throws Exception
{
JsonMapObjectReaderWriter jsonMapObjectReaderWriter = new
JsonMapObjectReaderWriter();
String s = "{\"x\":{\"y\":\"{\"}}";
System.out.println(s);
jsonMapObjectReaderWriter.fromJson(s);
}
}
{code}
h2. RESULT
{code}
{"x":{"y":"{"}}
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: -6
at java.lang.String.substring(String.java:1967)
at
org.apache.cxf.jaxrs.json.basic.JsonMapObjectReaderWriter.readJsonObjectAsSettable(JsonMapObjectReaderWriter.java:189)
at
org.apache.cxf.jaxrs.json.basic.JsonMapObjectReaderWriter.fromJson(JsonMapObjectReaderWriter.java:162)
at JsonMapReaderNotWorking.main(JsonMapReaderNotWorking.java:13)
{code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)