Skip to content

MSP430: Incorrect lifting of conditional jump to ret #8281

Description

@mickdermack

Version and Platform (required):

  • Binary Ninja Version: 5.4.9891-dev (7df55f17)
  • Edition: Commercial
  • OS: Arch Linux
  • OS Version: rolling release
  • CPU Architecture: x64

Bug Description:
The lifting of a function that has a conditional jump to a ret instruction has an infinite loop at the end instead of a return.

Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

  1. Paste the bytes 7f9034120224b01278563041 at address 0 (or open the uploaded binary)
  2. Make function at address 0
  3. Observe wrongly lifted code

Expected Behavior:
I expected the code to be lifted correctly, with a return at the end of the function.

Screenshots/Video Recording:

Image Image

Binary:
keen dawn accelerates harmoniously

Additional Information:
This is a minimal example. I cannot share the original binary. It makes no difference whether the call target is valid.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions