Skip to content

Conditionally return from RaiseException #7048

Open
@emesare

Description

@emesare

https://learn.microsoft.com/en-us/windows/win32/api/errhandlingapi/nf-errhandlingapi-raiseexception

Currently our windows type library has RaiseException marked as noreturn, this is not correct, we can continue execution in the cases where dwExceptionFlags is zero. See the binary gentle mountain creates brightly @ 0x51ae92. There might be some other type library functions incorrectly marked noreturn that need this conditional behavior. We currently do this for TerminateProcess (if the process handle is from GetCurrentProcess). IDA seems to exhibit the correct behavior and does not treat it as a no return.

Current behavior:
Image

Expected behavior:
Image

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions