Browse Source

Merge remote-tracking branch 'origin/main' into bp/fixapp1parsing

# Conflicts:
#	tests/ImageSharp.Tests/TestImages.cs
pull/2058/head
Brian Popow 4 years ago
parent
commit
c668373c3b
  1. 2
      src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValue.cs
  2. 13
      tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs
  3. 1
      tests/ImageSharp.Tests/TestImages.cs
  4. 3
      tests/Images/Input/Jpg/issues/issue-2056-exif-null-array.jpg

2
src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValue.cs

@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
{
// All array types are value types so Clone() is sufficient here.
var array = (Array)other.GetValue();
this.TrySetValue(array.Clone());
this.TrySetValue(array?.Clone());
}
}

13
tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs

@ -301,6 +301,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
Assert.Null(ex);
}
[Theory]
[WithFile(TestImages.Jpeg.Issues.ExifNullArrayTag, PixelTypes.Rgba32)]
public void Clone_WithNullRationalArrayTag_DoesNotThrowException<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : unmanaged, IPixel<TPixel>
{
Exception ex = Record.Exception(() =>
{
using Image<TPixel> image = provider.GetImage(JpegDecoder);
var clone = image.Metadata.ExifProfile.DeepClone();
});
Assert.Null(ex);
}
[Fact]
public void EncodedStringTags_WriteAndRead()
{

1
tests/ImageSharp.Tests/TestImages.cs

@ -263,6 +263,7 @@ namespace SixLabors.ImageSharp.Tests
public const string MultipleApp01932 = "Jpg/issues/issue-1932-app0-resolution.jpg";
public const string InvalidIptcTag = "Jpg/issues/Issue1942InvalidIptcTag.jpg";
public const string Issue2057App1Parsing = "Jpg/issues/Issue2057-App1Parsing.jpg";
public const string ExifNullArrayTag = "Jpg/issues/issue-2056-exif-null-array.jpg";
public static class Fuzz
{

3
tests/Images/Input/Jpg/issues/issue-2056-exif-null-array.jpg

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4c52500be37a8ea1ee1caeb78c79e44b02e10912df4f6db65313c6745573c8ee
size 250451
Loading…
Cancel
Save