Missing the Pointer On the Effectiveness of Code Pointer Integrity