diff options
author | Ac_K <Acoustik666@gmail.com> | 2021-02-19 20:18:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-19 20:18:13 +0100 |
commit | b93fe5979a290097b3bd4cf7810e774a7e2ee834 (patch) | |
tree | 243995d21246063aae101549bdab5d8499a5643b /Ryujinx.HLE | |
parent | c6d3c4207aa94c3ccc0e28d0d8361f579d9f6b0e (diff) |
nifm: Fix returned buffer size of GetClientId (#2036)
This PR fix an issue introduced on last IPC rewrite PRs where some returned buffer size have to be explicit now.
`GetClientId` without an explicit buffer size return some garbage to the guest and then `nifm` service crashes because of a wrong ClientId. It's fixed now.
Horizon Chase Turbo and Doom regression are fixed now. (Probably some other games too)
Diffstat (limited to 'Ryujinx.HLE')
-rw-r--r-- | Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs b/Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs index 1b170f4b..944186d3 100644 --- a/Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs +++ b/Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs @@ -27,7 +27,8 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService public ResultCode GetClientId(ServiceCtx context) { long position = context.Request.RecvListBuff[0].Position; - long size = context.Request.RecvListBuff[0].Size; + + context.Response.PtrBuff[0] = context.Response.PtrBuff[0].WithSize(4); context.Memory.Write((ulong)position, _generalServiceDetail.ClientId); |