Research Article

Fine-Grained Control-Flow Integrity Based on Points-to Analysis for CPS

Listing 4

LLVM bitcode before instrumentation.
1 store void (...) bitcast (void () @bar to void
(...)), void (...) %2, align 8 // Assign
the address of function bar to %2
2 %4 = load void (...), void (...) %2, align 8 //
Assign %2 to %4
3 call void (...) %4()// Function call by calling
the function corresponding to the %4 address