If you don't check a pointer before dereferencing it - the code is wrong.
Really? This might be true after a malloc or another system call, but in general, your modules should have specifications. If you have written a function which states that the incoming value must be a pointer to some value, that pointer shoud never be checked before dereferencing it. It's the caller's job to ensure that a valid pointer is sent.
Blindly checking for errors that will never come up is not much better than not checking at all.
Really? This might be true after a malloc or another system call, but in general, your modules should have specifications. If you have written a function which states that the incoming value must be a pointer to some value, that pointer shoud never be checked before dereferencing it. It's the caller's job to ensure that a valid pointer is sent.
Blindly checking for errors that will never come up is not much better than not checking at all.