Automating And Simplifying Memory Corruption Attack Response Using Failure-Aware Computing