diff --git a/src/MySqlConnector/Utilities/Utility.cs b/src/MySqlConnector/Utilities/Utility.cs index 6c4e53b9e..c4b9b30d1 100644 --- a/src/MySqlConnector/Utilities/Utility.cs +++ b/src/MySqlConnector/Utilities/Utility.cs @@ -3,6 +3,7 @@ using System.Diagnostics.CodeAnalysis; using System.Net; using System.Reflection; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security.Authentication; using System.Security.Cryptography; @@ -512,9 +513,8 @@ public static Task WriteAsync(this Stream stream, ReadOnlyMemory data) public static void SwapBytes(Span bytes, int offset1, int offset2) { - byte swap = bytes[offset1]; - bytes[offset1] = bytes[offset2]; - bytes[offset2] = swap; + ref var first = ref Unsafe.AsRef(bytes[0]); + (Unsafe.Add(ref first, offset2), Unsafe.Add(ref first, offset1)) = (Unsafe.Add(ref first, offset1), Unsafe.Add(ref first, offset2)); } #if NET462