It is not a good idea to stop scanning jump table when an entry leads to an address...
authorXiaozhu Meng <xmeng@cs.wisc.edu>
Wed, 21 Jun 2017 21:13:00 +0000 (16:13 -0500)
committerXiaozhu Meng <xmeng@cs.wisc.edu>
Tue, 15 Aug 2017 20:51:22 +0000 (15:51 -0500)
commita89ef4bf85eb9447eca213e0b767780df221eb0b
tree3d6161fc28cf7e2b0a4ef584760937da7482acc7
parent3e83b78911b2792a8f7dff2fb4545db7891280a1
It is not a good idea to stop scanning jump table when an entry leads to an address in another function.
The reason is that the another function can have an overapproximated jump table scan, causing wrong function boundary.
New heurisitics:
if the indirect jump is in a function with a hint, and the indirect jump jumps to an adderss outside the range speicified by the hint, we stop
parseAPI/h/CodeSource.h
parseAPI/src/IndirectAnalyzer.C
parseAPI/src/JumpTableFormatPred.C
parseAPI/src/SymbolicExpression.C
parseAPI/src/SymtabCodeSource.C