Explorar el Código

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

- TIPC does not use this.
bunnei hace 5 años
padre
commit
982be246ab
Se han modificado 1 ficheros con 6 adiciones y 2 borrados
  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);