Browse Source

Merge pull request #2835 from stefannikolei/sn/internaldetectformat

#2807 Add early return in InternalDetectFormat
pull/2838/head
James Jackson-South 2 years ago
committed by GitHub
parent
commit
702d71f143
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 11
      src/ImageSharp/Image.Decode.cs

11
src/ImageSharp/Image.Decode.cs

@ -128,21 +128,18 @@ public abstract partial class Image
// Does the given stream contain enough data to fit in the header for the format
// and does that data match the format specification?
// Individual formats should still check since they are public.
IImageFormat? format = null;
foreach (IImageFormatDetector formatDetector in configuration.ImageFormatsManager.FormatDetectors)
{
if (formatDetector.HeaderSize <= headersBuffer.Length && formatDetector.TryDetectFormat(headersBuffer, out IImageFormat? attemptFormat))
{
format = attemptFormat;
return attemptFormat;
}
}
if (format is null)
{
ImageFormatManager.ThrowInvalidDecoder(configuration.ImageFormatsManager);
}
ImageFormatManager.ThrowInvalidDecoder(configuration.ImageFormatsManager);
return format;
// Need to write this otherwise compiler is not happy
return null;
}
/// <summary>

Loading…
Cancel
Save