From b6dc05be5a0f4808f06ec430f3bb59b24d3fbc3e Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sun, 21 Feb 2021 15:13:51 +1300 Subject: [PATCH] Change MaxDepth default to 64 (#2473) --- .../Serialization/JsonSerializerTest.cs | 6 +++--- Src/Newtonsoft.Json/JsonReader.cs | 2 +- Src/Newtonsoft.Json/JsonSerializerSettings.cs | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs index 5e6629206..372aa8c33 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs @@ -8000,10 +8000,10 @@ public void NullableDoubleEmptyValue() public void SetMaxDepth_DepthExceeded() { JsonTextReader reader = new JsonTextReader(new StringReader("[[['text']]]")); - Assert.AreEqual(128, reader.MaxDepth); + Assert.AreEqual(64, reader.MaxDepth); JsonSerializerSettings settings = new JsonSerializerSettings(); - Assert.AreEqual(128, settings.MaxDepth); + Assert.AreEqual(64, settings.MaxDepth); Assert.AreEqual(false, settings._maxDepthSet); // Default should be the same @@ -8034,7 +8034,7 @@ public void SetMaxDepth_DepthNotExceeded() serializer.Deserialize(reader); - Assert.AreEqual(128, reader.MaxDepth); + Assert.AreEqual(64, reader.MaxDepth); } } } diff --git a/Src/Newtonsoft.Json/JsonReader.cs b/Src/Newtonsoft.Json/JsonReader.cs index e9d920a73..b94c63eae 100644 --- a/Src/Newtonsoft.Json/JsonReader.cs +++ b/Src/Newtonsoft.Json/JsonReader.cs @@ -329,7 +329,7 @@ protected JsonReader() _dateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind; _dateParseHandling = DateParseHandling.DateTime; _floatParseHandling = FloatParseHandling.Double; - _maxDepth = 128; + _maxDepth = 64; CloseInput = true; } diff --git a/Src/Newtonsoft.Json/JsonSerializerSettings.cs b/Src/Newtonsoft.Json/JsonSerializerSettings.cs index 9c8563145..bc0cd5a7b 100644 --- a/Src/Newtonsoft.Json/JsonSerializerSettings.cs +++ b/Src/Newtonsoft.Json/JsonSerializerSettings.cs @@ -61,7 +61,7 @@ public class JsonSerializerSettings internal static readonly CultureInfo DefaultCulture; internal const bool DefaultCheckAdditionalContent = false; internal const string DefaultDateFormatString = @"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK"; - internal const int DefaultMaxDepth = 128; + internal const int DefaultMaxDepth = 64; internal Formatting? _formatting; internal DateFormatHandling? _dateFormatHandling;