Merge pull request #2835 from stefannikolei/sn/internaldetectformat

#2807 Add early return in InternalDetectFormat
This commit is contained in:
James Jackson-South 2024-11-06 14:11:29 +10:00 коммит произвёл GitHub
Родитель 21ec18e1b1 a8ea3e0f9e
Коммит 702d71f143
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
1 изменённых файлов: 4 добавлений и 7 удалений

Просмотреть файл

@ -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>