Hacker News new | ask | show | jobs
by vyodaiken 3410 days ago
the post that brought this to my attention discussed how a security error in Linux was created by this "optimization".
1 comments

This? http://blog.regehr.org/archives/970

The compiler didn't create a security bug by removing the null check. The bug was created by the programmer when he didn't check for null before dereferencing the pointer. Even with the check, the program contained a bug.

The compiler converted a buggy program that was prevented from opening a security hole by defense in depth into a program with a security hole. It transformed a careless error into a systemic error, all in the cause of a micro-optimization that didn't.
What are you talking about? Dereferencing invalid memory is a security bug.
Not necessarily.
In what cases it's not?
In the referenced case the introduced error involved a reference to a null pointer but there was still no exploitable security hole. The exploit was enabled when the compiler removed an explicit check. The null dereference was an error, but it was not a security issue on its own.