0
0
Fork 0

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)
This commit is contained in:
Ac_K 2021-02-19 20:18:13 +01:00 committed by GitHub
parent c6d3c4207a
commit b93fe5979a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -27,7 +27,8 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
public ResultCode GetClientId(ServiceCtx context) public ResultCode GetClientId(ServiceCtx context)
{ {
long position = context.Request.RecvListBuff[0].Position; 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); context.Memory.Write((ulong)position, _generalServiceDetail.ClientId);