From 9f055b8e138c9f8d61db33db007a86a6a0178332 Mon Sep 17 00:00:00 2001 From: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> Date: Sun, 27 Oct 2019 18:13:15 +0100 Subject: [PATCH] Fix ghost users bug. --- .../Account/Acc/IAccountServiceForApplication.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs b/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs index 8423953995..3a261ef4fd 100644 --- a/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs +++ b/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs @@ -63,21 +63,27 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc long outputPosition = context.Request.RecvListBuff[0].Position; long outputSize = context.Request.RecvListBuff[0].Size; - ulong offset = 0; + ulong offset = 0UL; foreach (UserProfile userProfile in profiles) { - if (offset + 0x10 > (ulong)outputSize) + if (offset + 0x10UL > (ulong)outputSize) { break; } - context.Memory.WriteInt64(outputPosition + (long)offset, userProfile.UserId.Low); - context.Memory.WriteInt64(outputPosition + (long)offset + 8, userProfile.UserId.High); + context.Memory.WriteInt64(outputPosition + (long)offset, userProfile.UserId.Low); + context.Memory.WriteInt64(outputPosition + (long)offset + 8L, userProfile.UserId.High); offset += 0x10; } + for ( ; offset + 0x10UL <= (ulong)outputSize; offset += 0x10UL) + { + context.Memory.WriteInt64(outputPosition + (long)offset, 0L); + context.Memory.WriteInt64(outputPosition + (long)offset + 8L, 0L); + } + return ResultCode.Success; }