ntdll: Restore the original context for the last frame instead of the result of the unwind handler.
This commit is contained in:
parent
de9330cbcb
commit
7c36b51aaf
|
@ -2927,7 +2927,7 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec
|
||||||
dispatch.ContextRecord = context;
|
dispatch.ContextRecord = context;
|
||||||
dispatch.HistoryTable = table;
|
dispatch.HistoryTable = table;
|
||||||
|
|
||||||
while (dispatch.EstablisherFrame != (ULONG64)end_frame)
|
for (;;)
|
||||||
{
|
{
|
||||||
/* FIXME: should use the history table to make things faster */
|
/* FIXME: should use the history table to make things faster */
|
||||||
|
|
||||||
|
@ -3031,6 +3031,7 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec
|
||||||
dispatch.EstablisherFrame = new_context.Rsp;
|
dispatch.EstablisherFrame = new_context.Rsp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dispatch.EstablisherFrame == (ULONG64)end_frame) break;
|
||||||
*context = new_context;
|
*context = new_context;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue