PTAuth: Temporal Memory Safety via Robust Points-to Authentication