Commit 2f5ea323 authored by Daniel Lehman's avatar Daniel Lehman Committed by Alexandre Julliard

vcruntime140_1: Use return address from catch block routine if not provided by catch block info.

parent cfa42821
......@@ -603,7 +603,8 @@ static inline void find_catch_block4(EXCEPTION_RECORD *rec, CONTEXT *context,
(ULONG_PTR)rva_to_ptr(ci.handler, dispatch->ImageBase);
catch_record.ExceptionInformation[6] = (ULONG_PTR)untrans_rec;
catch_record.ExceptionInformation[7] = (ULONG_PTR)context;
catch_record.ExceptionInformation[8] = (ULONG_PTR)rva_to_ptr(
if (ci.ret_addr)
catch_record.ExceptionInformation[8] = (ULONG_PTR)rva_to_ptr(
ci.ret_addr + dispatch->FunctionEntry->BeginAddress, dispatch->ImageBase);
RtlUnwindEx((void*)frame, (void*)dispatch->ControlPc, &catch_record, NULL, &ctx, NULL);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment