Browse Source

Throw InvalidImageContentException when frame control chunk does not have enough data

pull/3094/head
Brian Popow 2 months ago
parent
commit
43f952cf00
  1. 9
      src/ImageSharp/Formats/Png/Chunks/FrameControl.cs

9
src/ImageSharp/Formats/Png/Chunks/FrameControl.cs

@ -147,7 +147,13 @@ internal readonly struct FrameControl
/// <param name="data">The data to parse.</param>
/// <returns>The parsed fcTL.</returns>
public static FrameControl Parse(ReadOnlySpan<byte> data)
=> new(
{
if (data.Length < Size)
{
PngThrowHelper.ThrowInvalidImageContentException("The Frame Control Chunk does not contain enough data!");
}
return new(
sequenceNumber: BinaryPrimitives.ReadUInt32BigEndian(data[..4]),
width: BinaryPrimitives.ReadUInt32BigEndian(data[4..8]),
height: BinaryPrimitives.ReadUInt32BigEndian(data[8..12]),
@ -157,4 +163,5 @@ internal readonly struct FrameControl
delayDenominator: BinaryPrimitives.ReadUInt16BigEndian(data[22..24]),
disposalMode: (FrameDisposalMode)(data[24] + 1),
blendMode: (FrameBlendMode)data[25]);
}
}

Loading…
Cancel
Save