From 5db0fd575b58e21d08962959d6a40a8ddad9d55c Mon Sep 17 00:00:00 2001 From: Chris Adamson Date: Thu, 29 May 2025 14:01:16 -0500 Subject: [PATCH] fixed issue with setter not handling null values exposed by failing unit test --- .../Models/Eft/Common/Tables/TemplateItem.cs | 2 +- .../Utils/Cloners/ReflectionsCloner.cs | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/TemplateItem.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/TemplateItem.cs index 5aee09c0..d8937327 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/TemplateItem.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/TemplateItem.cs @@ -67,7 +67,7 @@ public record TemplateItem } set { - _type = string.Intern(value); + _type = value != null ? string.Intern(value) : null; } } diff --git a/Libraries/SPTarkov.Server.Core/Utils/Cloners/ReflectionsCloner.cs b/Libraries/SPTarkov.Server.Core/Utils/Cloners/ReflectionsCloner.cs index 49691464..64b42cd8 100644 --- a/Libraries/SPTarkov.Server.Core/Utils/Cloners/ReflectionsCloner.cs +++ b/Libraries/SPTarkov.Server.Core/Utils/Cloners/ReflectionsCloner.cs @@ -21,7 +21,15 @@ public class ReflectionsCloner(ISptLogger logger) : ICloner public T? Clone(T? obj) { - return (T?) Clone(obj, typeof(T)).Result; + try + { + return (T?) Clone(obj, typeof(T)).Result; + } + catch (Exception e) + { + logger.Error("cloning error:", e); + return default; + } } public async Task Clone(object? obj, Type objectType)