Browse Source

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 <joshua@boniface.me>
Bond-009 4 years ago
parent
commit
dd1fddf79c
1 changed files with 13 additions and 7 deletions
  1. 13 7
      Emby.Server.Implementations/Dto/DtoService.cs

+ 13 - 7
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<ImageType, Dictionary<string, string>>();
-                    foreach (var (imageType, blurHash) in dto.ImageBlurHashes)
+                    if (dto.ImageBlurHashes != null)
                     {
-                        baseItemPerson.ImageBlurHashes[imageType] = new Dictionary<string, string>();
-                        foreach (var (imageId, blurHashValue) in blurHash)
+                        // Only add BlurHash for the person's image.
+                        baseItemPerson.ImageBlurHashes = new Dictionary<ImageType, Dictionary<string, string>>();
+                        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<string, string>();
+                                foreach (var (imageId, blurHashValue) in blurHash)
+                                {
+                                    if (string.Equals(baseItemPerson.PrimaryImageTag, imageId, StringComparison.OrdinalIgnoreCase))
+                                    {
+                                        baseItemPerson.ImageBlurHashes[imageType][imageId] = blurHashValue;
+                                    }
+                                }
                             }
                         }
                     }