We use C# which allows you to write safe code. However, people still manage to fuck it up at an implementation level often enough for it to cause high risk problems.
I do mostly JVM and .NET based development nowadays, in consulting projects.
Sometimes I wish to be part of a C or C++ based project, then I try to imagine how the quality of our offshore guys would map to those languages and realize how lucky I am not to be part of such projects.
Don't you do something wrong, when you consult the company to use (more) offshore guys? I thought that a company is best led, when developers share their knowledge cooperatively and ask their managers to outsource unimportant time-consuming things like api-/file-/conversions, legacy code support, CSVs …
(Disclaimer: Don't get my tone wrong please, I'm asking not suggesting, thus I respect your experience.)
Most consulting projects in Fortune 500 companies end up with outsourcing the whole project department to the consulting company, in the cases where IT is not the main business.
Thia is exactly the main problem with C.
You need to rely on tolling outside the language to be able to write safer code.
While languages like Ada and Modula-2 and their descendents, offer the same hardware capabilities as C with stronger type checking.