Added recursion limits to AbstractReader.cs
diff --git a/src/ProtocolBuffers.Test/TestWriterFormatJson.cs b/src/ProtocolBuffers.Test/TestWriterFormatJson.cs
index 052d8f2..fe6c22b 100644
--- a/src/ProtocolBuffers.Test/TestWriterFormatJson.cs
+++ b/src/ProtocolBuffers.Test/TestWriterFormatJson.cs
@@ -1,5 +1,6 @@
using System;
using System.IO;
+using System.Text;
using Google.ProtocolBuffers.Serialization;
using NUnit.Framework;
using Google.ProtocolBuffers.TestProtos;
@@ -336,6 +337,14 @@
Assert.AreEqual(3, ordinal);
Assert.AreEqual(3, builder.TextlinesCount);
}
+ [Test,ExpectedException(typeof(InvalidProtocolBufferException))]
+ public void TestRecursiveLimit()
+ {
+ StringBuilder sb = new StringBuilder(8192);
+ for (int i = 0; i < 80; i++)
+ sb.Append("{\"child\":");
+ TestXmlRescursive msg = TestXmlRescursive.ParseFromJson(sb.ToString());
+ }
[Test, ExpectedException(typeof(FormatException))]
public void FailWithEmptyText()
{