diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index 2eaae2664..9f53bf64c 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -459,7 +459,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (size > 8) { ulong newOffset = this.ConvertToUInt64(this.offsetBuffer8); - if (newOffset > ulong.MaxValue || (newOffset + size) > (ulong)this.data.Length) + if (newOffset > ulong.MaxValue || newOffset > (ulong)(this.data.Length - size)) { this.AddInvalidTag(new UnkownExifTag(tag)); return;