summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-06-24 18:39:43 -0700
committerbunnei <bunneidev@gmail.com>2021-06-24 18:39:43 -0700
commit982be246abcc2e672442397ca2a256c12aacc2b0 (patch)
tree16f47895267673e5d5527e48c598ee083ce4f73e /src
parent3565e32f4d8ae28ae69dbb59e4ecad4fc8155a54 (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.h8
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);