You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Erasing a range of instructions from a goto program can cause memory
bugs when `goto_program::update` is called. Specifically, if any of the
remaining nodes in the program have elements of `targets` which point
into the erased range, then the program may attempt an invalid read
during the `update` call.
To avoid this, I thought of two options:
- check through the goto-program for instructions with `target`s that
point into the removed range, and remove those `target`s, or
- just replace the existing instructions with no-ops.
Although I think the first solution is better, I can't think of a good
way of doing it with acceptable complexity, so this patch implements the
second option.
0 commit comments