This isn't a Linux thing per se, GnuTLS is a library that just happens to be used more on Linux systems than elsewhere. It also shouldn't be compared with Apple's bug. Other than the fact that both should have been caught with proper testing or code reviews they're different animals. In this case it's obvious it was coded using the Cowboy method of software engineering, the wrong piece of code was called after a failure. It can be don with gotos, function calls, or objects. Looking at the past it looks like a number of people advised against using GnuTLS because the maintainers used poor programming practices while obviously unaware of them. Looks they were right.I think both of these cases show that we've been giving degrees to coders rather than real engineers, and why you should be willing to pay for a real engineer.