• Sebastian Lackner's avatar
    ntdll: Avoid recursive exception handler calls when handling guard pages. · 0cf3d781
    Sebastian Lackner authored
    The ATL check leads to problems when a page is protected with guard page protection.
    raise_segv_exception is called with EXCEPTION_EXECUTE_FAULT. The ATL check tries to
    read the memory, and triggers another exception handler. This time the virtual_handle_fault
    check is executed, and removes the guard page protection. Afterwards, when the ATL
    check returns, the exception is _not_ catched by virtual_handle_fault, but instead
    passed to the application.
    0cf3d781
virtual.c 149 KB