https://bugzilla.novell.com/show_bug.cgi?id=660705

https://bugzilla.novell.com/show_bug.cgi?id=660705#c0


           Summary: JsonValue.ToString() incorrectly escapes strings with
                    pairs of quotes embedded.
    Classification: Mono
           Product: Mono: Class Libraries
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: System
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10

JsonValue.ToString() doesn't add a backslash to the second quote when two
quotes are next to each other in a string literal.

Reproducible: Always

Steps to Reproduce:
Run the following test code:

            try
            {
                JsonObject json1 = new JsonObject();
                json1["Val"] = "Empty quotes (\"\") are evil!";

                string str = json1.ToString();

                Console.WriteLine("str = {0}", str);

                JsonValue json2 = JsonValue.Parse(str);    // crash

                Console.WriteLine("Test passed!");
            }
            catch(Exception ex)
            {
                Console.WriteLine("{0}({1})", ex.GetType().Name, ex.Message);
                Console.WriteLine("{0}", ex.StackTrace);
            }

Actual Results:  
str = {"Val": "Empty quotes (\"") are evil!"}
ArgumentException(Invalid JSON string literal format. At line 1, column 28)
  at System.Json.JsonReader.ReadStringLiteral () [0x0000d] in
/Developer/MonoTouch/Source/mono/mcs/class/System.Json/System.Json/JsonReader.cs:247
 
  at System.Json.JsonReader.ReadCore () [0x00114] in
/Developer/MonoTouch/Source/mono/mcs/class/System.Json/System.Json/JsonReader.cs:70
 
  at System.Json.JsonReader.Read () [0x00000] in
/Developer/MonoTouch/Source/mono/mcs/class/System.Json/System.Json/JsonReader.cs:26
 
  at System.Json.JsonValue.Load (System.IO.TextReader textReader) [0x00011] in
/Developer/MonoTouch/Source/mono/mcs/class/System.Json/System.Json/JsonValue.cs:25
 
  at System.Json.JsonValue.Parse (System.String jsonString) [0x00011] in
/Developer/MonoTouch/Source/mono/mcs/class/System.Json/System.Json/JsonValue.cs:32
 


Expected Results:  
The system should be able to correctly encode embedded escapes.  While the
exception happens when deserializing here, the bug is caused because it wasn't
serialized successfully in the first place (see the first line of "Actual
Results")

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to