From 7f1376ffff31c6c0d6d4e8add19e2cfd2fb731e5 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sat, 2 Oct 2021 10:29:05 +0300 Subject: [PATCH 1/5] Update src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- .../Metadata/Profiles/Exif/Values/ExifLong8Array.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs index d012f646b5..d76deba076 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifLong8Array.cs @@ -107,10 +107,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private bool SetArray(long[] values) { var numbers = new ulong[values.Length]; - for (int i = 0; i < values.Length; i++) - { - numbers[i] = (ulong)values[i]; - } + this.Value = Unsafe.As(ref values); this.Value = numbers; return true; From f95102e340e34cfb5f22fec4c436db8b1321fc4f Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sat, 2 Oct 2021 10:30:38 +0300 Subject: [PATCH 2/5] Update src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs index 4b7433d7de..39d1ff049e 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs @@ -56,7 +56,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case int[] array: { // workaround for inconsistent covariance of value-typed arrays - if (value.GetType().Equals(typeof(uint[]))) + if (value.GetType() == typeof(uint[])) { return this.SetArray((uint[])value); } From 22d67f9210e74e9a7d762b49c21d3692ce99e427 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sat, 2 Oct 2021 10:30:49 +0300 Subject: [PATCH 3/5] Update src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs index 39d1ff049e..c65e0b4608 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifNumberArray.cs @@ -66,7 +66,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case short[] array: { - if (value.GetType().Equals(typeof(ushort[]))) + if (value.GetType() == typeof(ushort[])) { return this.SetArray((ushort[])value); } From f0ef4f9d510c516688a982e94453d87ece5b0f19 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sat, 2 Oct 2021 10:31:46 +0300 Subject: [PATCH 4/5] Update src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index 9abaf14328..f36f2cbae8 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -150,7 +150,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif this.Seek(offset); int count = this.ReadUInt16(); - Span offsetBuffer = new byte[4]; + Span offsetBuffer = stackalloc byte[4]; for (int i = 0; i < count; i++) { this.ReadValue(values, offsetBuffer); From 02c891134c946ee2326da3c57ffff221c7b19b11 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sat, 2 Oct 2021 10:31:54 +0300 Subject: [PATCH 5/5] Update src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index f36f2cbae8..d9fe29e821 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -177,7 +177,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif this.Seek(offset); ulong count = this.ReadUInt64(); - Span offsetBuffer = new byte[8]; + Span offsetBuffer = stackalloc byte[8]; for (ulong i = 0; i < count; i++) { this.ReadValue64(values, offsetBuffer);