소스 검색

hle: hle_helpers: Skip data payload offset checks on TIPC requests.

- TIPC does not use this.
bunnei 5 년 전
부모
커밋
982be246ab
1개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 2
      src/core/hle/ipc_helpers.h

+ 6 - 2
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);