`__Unwind_Resume` should be marked `__noreturn`
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- reverse-engineering
Research direction
Start by investigating how Binary Ninja handles __Unwind_Resume in Mach-O binaries and where its type information comes from. Check the relevant type library or Mach-O analysis path, then verify that the function is treated as __noreturn and no longer produces fall-through decompilation output.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Vector35/binaryninja-api
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Vector35/binaryninja-api#8540 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Vector35/binaryninja-api#8516 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Vector35/binaryninja-api#8503 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Vector35/binaryninja-api#8446 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Vector35/binaryninja-api#8444 ·
All issues in Vector35/binaryninja-api
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Sensor initialization takes very long when `--initial-sim-time` is set to current UNIX timestamp Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gazebosim/gz-sensors#662 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
LadybirdBrowser/ladybird#12123 ·