Comment by azakai
2 hours ago
I'm not sure what "branch on undefined values" means there, yeah, but never reusing memory addresses is enough to prevent use-after-free.
Or, rather, you can use a value after freeing it, but it will not be exploitable, because it will contain valid data of the right type. This is the same idea as Type-After-Type,
https://dl.acm.org/doi/10.1145/3274694.3274705
(Also similar to when you use indexes to an array in Rust and happen to read from a wrong but in-bounds index.)
No comments yet
Contribute on Hacker News ↗