Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

__Unwind_Resume should be marked __noreturn #6239

Open
WeiN76LQh opened this issue Dec 8, 2024 · 0 comments
Open

__Unwind_Resume should be marked __noreturn #6239

WeiN76LQh opened this issue Dec 8, 2024 · 0 comments
Assignees
Labels
Component: Type Libraries Effort: Low Issue should take < 1 week Impact: Low Issue is a papercut or has a good, supported workaround Type: Enhancement Issue is a small enhancement to existing functionality

Comments

@WeiN76LQh
Copy link

Version and Platform (required):

  • Binary Ninja Version: 4.3.6541-dev (2a7e8df1)
  • OS: macOS
  • OS Version: 15.1.1
  • CPU Architecture: M1

Bug Description:
Binary Ninja believes that control flow can return from __Unwind_Resume, which is not the case. This results in Binary Ninja thinking execution continues to the line after __Unwind_Resume, which can sometimes be the start of a function. This creates confusing and bloated decompilation output.

Expected Behavior:
__Unwind_Resume should be marked __noreturn so that it doesn't fall through to whatever code comes after the call.

Additional Information:
This issue occurs when working with Mach-O binaries, I'm unsure if it extends to other binary types because I assume the type information is coming from a Mach-O specific type library.

@xusheng6 xusheng6 added Type: Enhancement Issue is a small enhancement to existing functionality Impact: Low Issue is a papercut or has a good, supported workaround Effort: Low Issue should take < 1 week Component: Type Libraries labels Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Type Libraries Effort: Low Issue should take < 1 week Impact: Low Issue is a papercut or has a good, supported workaround Type: Enhancement Issue is a small enhancement to existing functionality
Projects
None yet
Development

No branches or pull requests

3 participants