Marty Kalin

Authored Content

Authored Comments

I think there's been significant improvement in C libraries, especially with respect to heap-allocated storage. For example, most libraries (e.g., OpenSSL) now provide customized freeing functions that handle nested heap allocation automatically and, in general, enforce constraints on raw pointers. (Tools such as valgrind are likewise a great help.) That said, Rust remains, I think, in a league of its own when it comes to enforcing memory safety.

Thanks for spotting: I agree. The standard does specify that an int must be at least two bytes and, as noted, nowadays it's typically four bytes.