From dd1fddf79c84be5caf27af45fde1da59693f0f1d Mon Sep 17 00:00:00 2001 From: Bond-009 Date: Sat, 9 Jan 2021 00:41:16 +0100 Subject: [PATCH] Merge pull request #4961 from crobibero/person-blurhash-null-ref Fix potential null reference (cherry picked from commit a8230c07eaa820a3db0961db9dce1a34d1a3c113) Signed-off-by: Joshua M. Boniface --- Emby.Server.Implementations/Dto/DtoService.cs | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index d5e1f51248..8a901516c0 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -582,16 +582,22 @@ namespace Emby.Server.Implementations.Dto { baseItemPerson.PrimaryImageTag = GetTagAndFillBlurhash(dto, entity, ImageType.Primary); baseItemPerson.Id = entity.Id.ToString("N", CultureInfo.InvariantCulture); - // Only add BlurHash for the person's image. - baseItemPerson.ImageBlurHashes = new Dictionary>(); - foreach (var (imageType, blurHash) in dto.ImageBlurHashes) + if (dto.ImageBlurHashes != null) { - baseItemPerson.ImageBlurHashes[imageType] = new Dictionary(); - foreach (var (imageId, blurHashValue) in blurHash) + // Only add BlurHash for the person's image. + baseItemPerson.ImageBlurHashes = new Dictionary>(); + foreach (var (imageType, blurHash) in dto.ImageBlurHashes) { - if (string.Equals(baseItemPerson.PrimaryImageTag, imageId, StringComparison.OrdinalIgnoreCase)) + if (blurHash != null) { - baseItemPerson.ImageBlurHashes[imageType][imageId] = blurHashValue; + baseItemPerson.ImageBlurHashes[imageType] = new Dictionary(); + foreach (var (imageId, blurHashValue) in blurHash) + { + if (string.Equals(baseItemPerson.PrimaryImageTag, imageId, StringComparison.OrdinalIgnoreCase)) + { + baseItemPerson.ImageBlurHashes[imageType][imageId] = blurHashValue; + } + } } } }