x32/Semaphore: Fix storing of message type in msgrcv

This was previously storing into the local compat handler, not the
actual managed message.
This commit is contained in:
LC committed 2026-07-13 17:30:27 -04:00
1 parent 50be718b72
commit 23402bf31b
1 file changed
+1 -2
@@ -216,7 +216,6 @@ _ipc(FEXCore::Core::CpuStateFrame* Frame, uint32_t call, uint32_t first, uint32_
src->mtype = TmpMsg->mtype;
memcpy(src->mtext, TmpMsg->mtext, Result);
}
} else {
struct compat_ipc_kludge {
compat_uptr_t msgp;
@@ -228,7 +227,7 @@ _ipc(FEXCore::Core::CpuStateFrame* Frame, uint32_t call, uint32_t first, uint32_
msgbuf_32* src = reinterpret_cast<msgbuf_32*>(ipck->msgp);
FaultSafeUserMemAccess::VerifyIsWritable(src, sizeof(*src));
FaultSafeUserMemAccess::VerifyIsWritable(src->mtext, Result);
ipck->msgtyp = TmpMsg->mtype;
src->mtype = TmpMsg->mtype;
memcpy(src->mtext, TmpMsg->mtext, Result);
}
}