diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs index d8ca6e6f..41e5b75e 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs @@ -384,6 +384,14 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests ExceptionAssert.Throws(() => { reader.ReadAsBytes(); }, "Unexpected end when reading JSON. Path '', line 1, position 1."); } + [Test] + public void ReadBytesEmptyWrappedObject() + { + JsonTextReader reader = new JsonTextReader(new StringReader(@"{}")); + + ExceptionAssert.Throws(() => { reader.ReadAsBytes(); }, "Error reading bytes. Unexpected token: StartObject. Path '', line 1, position 2." ); + } + [Test] public void ReadIntegerWithError() { diff --git a/Src/Newtonsoft.Json/JsonReader.cs b/Src/Newtonsoft.Json/JsonReader.cs index d0d319aa..f761b746 100644 --- a/Src/Newtonsoft.Json/JsonReader.cs +++ b/Src/Newtonsoft.Json/JsonReader.cs @@ -904,7 +904,7 @@ namespace Newtonsoft.Json internal void ReadIntoWrappedTypeObject() { ReaderReadAndAssert(); - if (Value.ToString() == JsonTypeReflector.TypePropertyName) + if (Value != null && Value.ToString() == JsonTypeReflector.TypePropertyName) { ReaderReadAndAssert(); if (Value != null && Value.ToString().StartsWith("System.Byte[]", StringComparison.Ordinal)) @@ -1182,4 +1182,4 @@ namespace Newtonsoft.Json return t; } } -} \ No newline at end of file +}