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 terrible advice like "checking for bad pointers is somebody else's problem" (and the refusal to let go of C) is why everything is broken all the time.
i think the piece makes a pretty compelling argument for omitting a null pointer check in specific circumstances. have you read 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?
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.