From 2eebf4f48d2c83752c18af2961b3c21f0b0065da Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Wed, 16 Aug 2023 00:20:26 -0700 Subject: [PATCH] fix: Fixes crashing while trying to detect old clients (#1459) --- Projects/Server/Client/ClientVersion.cs | 2 +- Projects/Server/Client/UOClient.cs | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Projects/Server/Client/ClientVersion.cs b/Projects/Server/Client/ClientVersion.cs index ea82b9d5f..effcac920 100644 --- a/Projects/Server/Client/ClientVersion.cs +++ b/Projects/Server/Client/ClientVersion.cs @@ -85,7 +85,7 @@ public class ClientVersion : IComparable, IComparer -1) { - if (vsVersionInfo.SequenceEqual(buffer.AsSpan(i, 30))) - { - var offset = i + 42; // 30 + 12 + var offset = versionIndex + 42; // 30 + 12 - var minorPart = BinaryPrimitives.ReadUInt16LittleEndian(buffer.AsSpan(offset)); - var majorPart = BinaryPrimitives.ReadUInt16LittleEndian(buffer.AsSpan(offset + 2)); - var privatePart = BinaryPrimitives.ReadUInt16LittleEndian(buffer.AsSpan(offset + 4)); - var buildPart = BinaryPrimitives.ReadUInt16LittleEndian(buffer.AsSpan(offset + 6)); + var minorPart = BinaryPrimitives.ReadUInt16LittleEndian(buffer.AsSpan(offset)); + var majorPart = BinaryPrimitives.ReadUInt16LittleEndian(buffer.AsSpan(offset + 2)); + var privatePart = BinaryPrimitives.ReadUInt16LittleEndian(buffer.AsSpan(offset + 4)); + var buildPart = BinaryPrimitives.ReadUInt16LittleEndian(buffer.AsSpan(offset + 6)); - return new ClientVersion(majorPart, minorPart, buildPart, privatePart); - } + return new ClientVersion(majorPart, minorPart, buildPart, privatePart); } }