Enhance error handling in PolymorphicObjectConverter (#6051)

Add null checks for `referenceResolver` in cases where `RefPropertyName` and `IdPropertyName` are being processed. This prevents potential null reference exceptions and ensures safer deserialization of objects.
This commit is contained in:
Sipke Schoorstra 2024-10-23 12:12:18 +02:00 committed by GitHub
parent 61f9e2a59a
commit a0001d3891
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -364,13 +364,13 @@ public class PolymorphicObjectConverter(IWellKnownTypeRegistry wellKnownTypeRegi
case JsonTokenType.PropertyName:
var key = reader.GetString()!;
reader.Read();
if (key == RefPropertyName)
if (referenceResolver != null && key == RefPropertyName)
{
var referenceId = reader.GetString();
var reference = referenceResolver.ResolveReference(referenceId!);
dict.Add(key, reference);
}
else if (key == IdPropertyName)
else if (referenceResolver != null && key == IdPropertyName)
{
var referenceId = reader.GetString()!;