binaryninja-api
binaryninja-api copied to clipboard
Potential Inconsistent Relocation Cache When Adding Overlapping Segments
There is an issue with the current segment design and how we handle overlapping segments. If a newly added segment happens to overlap the start of an existing segment, the current implementation modifies the segment start address of the existing segment. That start address is used in the caching mechanism.
One solution here is to keep the segment ranges immutable after the segment object is added. Existing code that consumes the segment map will need to be updated to use a new set of APIs for the resolved memory map information.
Fixed in 4.2.5758.