Closed jnhols closed 1 year ago
Happens because an empty node is in between the stack canary check block and the canary fail method block. Can't really see a logic when exactly a empty BasicBlock is inserted in between two nodes (maybe someone can explain?).
Anyways there is always only one block, so removing the block in between as well would solve the problem.
/cib
What happened?
The decompiler crashes with an IndexError in remove_stack_canary during preprocessing.
How to reproduce?
Decompile print_dir in ls, get_dev in df or main in one of the other samples given below.
remove_stack_canary_index_error.zip
Affected Binary Ninja Version(s)
3.2.3814