From cab0e5965f7ebc412d2d719a87dbc1ea79dfdea2 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 10 Jan 2020 23:39:52 +1100 Subject: [PATCH] Add test images --- .../Formats/Jpg/JpegDecoderTests.Images.cs | 5 ++++- tests/ImageSharp.Tests/TestImages.cs | 1 + tests/Images/External | 2 +- .../issues/issue-1076-invalid-subsampling.jpg | Bin 0 -> 39149 bytes 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 tests/Images/Input/Jpg/issues/issue-1076-invalid-subsampling.jpg diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs index 4a3ef9b95..37da32d76 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs @@ -31,6 +31,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Issues.InvalidAPP0721, TestImages.Jpeg.Issues.ExifGetString750Load, TestImages.Jpeg.Issues.ExifGetString750Transform, + TestImages.Jpeg.Issues.BadSubSampling1076, // LibJpeg can open this despite the invalid density units. TestImages.Jpeg.Issues.Fuzz.ArgumentOutOfRangeException825B, @@ -38,6 +39,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // LibJpeg can open this despite incorrect colorspace metadata. TestImages.Jpeg.Issues.IncorrectColorspace855, + // LibJpeg can open this despite the invalid subsampling units. + TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException824C, + // High depth images TestImages.Jpeg.Baseline.Testorig12bit, }; @@ -71,7 +75,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Issues.Fuzz.NullReferenceException823, TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException824A, TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException824B, - TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException824C, TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException824D, TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException824E, TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException824F, diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index ada077496..f5cdb29b6 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -192,6 +192,7 @@ namespace SixLabors.ImageSharp.Tests public const string IncorrectColorspace855 = "Jpg/issues/issue855-incorrect-colorspace.jpg"; public const string IncorrectResize1006 = "Jpg/issues/issue1006-incorrect-resize.jpg"; public const string ExifResize1049 = "Jpg/issues/issue1049-exif-resize.jpg"; + public const string BadSubSampling1076 = "Jpg/issues/issue-1076-invalid-subsampling.jpg"; public static class Fuzz { diff --git a/tests/Images/External b/tests/Images/External index d8ea82085..b47190bd5 160000 --- a/tests/Images/External +++ b/tests/Images/External @@ -1 +1 @@ -Subproject commit d8ea82085ac39a6aa6ca8e0806a9518d3a7d3337 +Subproject commit b47190bd5cd450110f3849962512b918d2596ecf diff --git a/tests/Images/Input/Jpg/issues/issue-1076-invalid-subsampling.jpg b/tests/Images/Input/Jpg/issues/issue-1076-invalid-subsampling.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94729a2e99b086648ba1f84378cda09f8e50070e GIT binary patch literal 39149 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%0Ae`SK=zA8H#_A3OozZNP+C#*5M$36kg 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 literal 0 HcmV?d00001