A long program of static tests – the post name-checks Coverity, Clang analyser, cppcheck, and PVS-Studio – clearly hasn't been enough to turn up all the bugs, which arise because “C is a terrible language for security”.
C is an excellent language for security and for systems that need to be fast and efficient. C++ on the other hand is a lousy language to debug because people who write in C++ tend not to know how to write clean code and there are better OO languages around. (Objective-C as an example.)
Today most coders are like drivers, and those that can code in C are like professional race car drivers. You can put a professional driver in your average car and they can drive. You try putting an average driver in an F1... boom.