Binary Ninja UI doesn't process odd sized integers and pointers #6303
Labels
Component: Core
Issue needs changes to the core
Effort: Trivial
Issue should take < 1 day
Impact: Low
Issue is a papercut or has a good, supported workaround
Type: Bug
Issue is a non-crashing bug with repro steps
Version and Platform (required):
Bug Description:
If an integer or pointer type is defined as a non-standard size (1, 2, 4 or 8 bytes in size) then it won't be handled properly in the Binary Ninja UI. The value of the type will just display the hex data for the bytes it covers and for pointers there will be no data reference.
Steps To Reproduce:
Set random data in a binary to one of the following types:
Or any other non-standard sizes.
Expected Behavior:
These values should be handled like any other sized integer or pointer. Which means that the type's value should not just display the bytes it covers but instead either shows a hex value (or whatever is appropriate) for an integer type or the destination for a pointer type, with a data reference, like they do in the standard size cases.
Screenshots/Video Recording:
Additional Information:
When setting non-standard size integer types the following message is logged in the Binary Ninja UI:
Also it seems that due to this Clang, Binary Ninja, mismatch, defining a structure with a
uint24_t
followed by auint8_t
using the C source parser will create a type that is larger than 4 bytes. Using the API the structure will be the expect 4 bytes with theuint8_t
field at an offset of 3. Thats another bug so that might require another bug report but it might be related.The text was updated successfully, but these errors were encountered: