Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

While C may be criticized for making it too easy to misuse pointers, for other features that are usually mentioned as security problems for C programs, e.g. out-of-bounds addressing and numeric overflow, the culprit is not the C language, but the manufacturers of the most popular CPUs, e.g. the Intel/AMD CPUs.

On most modern CPUs, checking for addressing bounds or for overflow is too expensive and the software developers almost always choose speed over correctness.

There have been a few C compilers with optional run-time checks for bounds and overflow, but almost nobody used those options for production code.

Unlike the Intel/AMD ISA, there are other instruction sets which include a variety of exception conditions, for a cheap implementation of the run-time checks (e.g. the IBM POWER ISA), but even there I do not know if the most recent implementations of those architectures have efficient exceptions.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: