ntdll: Preserve untouched parts of xstate in set_thread_wow64_context().

This commit is contained in:
Paul Gofman 2024-04-08 17:37:00 -06:00 committed by Alexandre Julliard
parent 34e49897a3
commit 14a51fa446

View file

@ -1281,9 +1281,11 @@ NTSTATUS set_thread_wow64_context( HANDLE handle, const void *ctx, ULONG size )
{
CONTEXT_EX *context_ex = (CONTEXT_EX *)(context + 1);
XSAVE_AREA_HEADER *xs = (XSAVE_AREA_HEADER *)((char *)context_ex + context_ex->XState.Offset);
UINT64 mask = frame->xstate.Mask;
if (xstate_compaction_enabled) frame->xstate.CompactionMask |= xstate_extended_features();
copy_xstate( &frame->xstate, xs, xs->Mask );
if (xs->CompactionMask) frame->xstate.Mask |= mask & ~xs->CompactionMask;
frame->restore_flags |= CONTEXT_XSTATE;
}
return STATUS_SUCCESS;