diff options
author | bunnei <bunneidev@gmail.com> | 2021-06-24 18:39:43 -0700 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-06-24 18:39:43 -0700 |
commit | 982be246abcc2e672442397ca2a256c12aacc2b0 (patch) | |
tree | 16f47895267673e5d5527e48c598ee083ce4f73e /src | |
parent | 3565e32f4d8ae28ae69dbb59e4ecad4fc8155a54 (diff) |
hle: hle_helpers: Skip data payload offset checks on TIPC requests.
- TIPC does not use this.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/ipc_helpers.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index 61bda3786..ceff2532d 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h @@ -345,8 +345,12 @@ public: explicit RequestParser(u32* command_buffer) : RequestHelperBase(command_buffer) {} explicit RequestParser(Kernel::HLERequestContext& ctx) : RequestHelperBase(ctx) { - ASSERT_MSG(ctx.GetDataPayloadOffset(), "context is incomplete"); - Skip(ctx.GetDataPayloadOffset(), false); + // TIPC does not have data payload offset + if (!ctx.IsTipc()) { + ASSERT_MSG(ctx.GetDataPayloadOffset(), "context is incomplete"); + Skip(ctx.GetDataPayloadOffset(), false); + } + // Skip the u64 command id, it's already stored in the context static constexpr u32 CommandIdSize = 2; Skip(CommandIdSize, false); |