From 6ad24af03c07ee946c11c21c8142ce01773262e2 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 22 Sep 2023 17:03:34 +1000 Subject: [PATCH] Use safe iteration for reading color palette. --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index eab80ecd92..065d861e71 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -933,10 +933,10 @@ internal sealed class PngDecoderCore : IImageDecoderInternals } Color[] colorTable = new Color[palette.Length / Unsafe.SizeOf()]; - ref Rgb24 paletteBase = ref MemoryMarshal.GetReference(MemoryMarshal.Cast(palette)); + ReadOnlySpan rgbTable = MemoryMarshal.Cast(palette); for (int i = 0; i < colorTable.Length; i++) { - colorTable[i] = new Color(Unsafe.Add(ref paletteBase, (uint)i)); + colorTable[i] = new Color(rgbTable[i]); } if (alpha.Length > 0)