3 ms·
Saying C is fine, does not make it fine though. The facts speak for themselves: even the best programmers in this world which are extremely conscious about secu
by Kototama 4y ago
Saying C is fine, does not make it fine though. The facts speak for themselves: even the best programmers in this world which are extremely conscious about security have vulnerabilities in the software they wrote because of C. There were two remotes vulnerabilities in OpenBSD since it's creation, more recently there was a vulnerability in the ping utility of FreeBSD, etc.
C without undefined behaviors is not C anymore by the way. It would be something else.
- JonChesterfield 4y agoStrictly C where your implementation has provided sane definitions of undefined behaviour is still C. The implementation is free to provide definitions of undefined behaviour, and no diagnostic required doesn't mean no diagnostic permitted. Offhand I think all the undetectable parts are a quirk of separate compilation which is solvable by linking an IR instead of machine code. That would probably be a high value project to implement.