From a0001d38913bbbc8ee783ed6f41deb7450fc81da Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Wed, 23 Oct 2024 12:12:18 +0200 Subject: [PATCH] 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. --- .../Serialization/Converters/PolymorphicObjectConverter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/Elsa.Workflows.Core/Serialization/Converters/PolymorphicObjectConverter.cs b/src/modules/Elsa.Workflows.Core/Serialization/Converters/PolymorphicObjectConverter.cs index f8121b24d..45585512c 100644 --- a/src/modules/Elsa.Workflows.Core/Serialization/Converters/PolymorphicObjectConverter.cs +++ b/src/modules/Elsa.Workflows.Core/Serialization/Converters/PolymorphicObjectConverter.cs @@ -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()!;