diff --git a/src/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs b/src/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs index 99acd06bb..89ef76616 100644 --- a/src/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs +++ b/src/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs @@ -519,12 +519,12 @@ namespace Ryujinx.HLE.HOS.Services.Nv (ulong inlineOutBufferPosition, ulong inlineOutBufferSize) = context.Request.GetBufferType0x22(1); errorCode = GetIoctlArgument(context, ioctlCommand, out Span arguments); - - byte[] temp = new byte[inlineOutBufferSize]; - - context.Memory.Read(inlineOutBufferPosition, temp); - - Span inlineOutBuffer = new(temp); + + if (!context.Memory.TryReadUnsafe(inlineOutBufferPosition, (int)inlineOutBufferSize, out Span inlineOutBuffer)) + { + inlineOutBuffer = new byte[inlineOutBufferSize]; + context.Memory.Read(inlineOutBufferPosition, inlineOutBuffer); + } if (errorCode == NvResult.Success) {