Stop checking for NULL pointers!
when passing a pointer to a C function, there is only one semantically-correct value for that pointer, as opposed to 264-1 invalid values. NULL may or may not be one of these invalid values. Let the MMU and operating system handle it.
@danso yes, and I think it's bad advice, of the kind that continues to give us segfaults, NPEs, and CVEs.
hm. it seems to me that if an invalid pointer is passed to a function such as the one described in the article, a programming error has _already_ occurred. in your opinion, what should that function do if it gets an invalid argument?
@danso the entire concept of "it's somebody else's job to check this" and "just change the docs to call it undefined behaviour when X" is where most of these bugs come from.
in the example given, that does not require a change to the documentation. the behaviour of that function is undefined if the pointer points to anything other than a null-terminated string.
C does not provide any mechanism to check most of these cases, so there is nothing to be done other than document them.
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.