I think Kostik explained this nicely:
Nothing in the SUSvX requires the pointer to the struct timeval to be
validated, or rather, if pointer is not valid, the behaviour is undefined.

It is impossible to 'fix' this in reliable manner for userspace function.
The expectations are the same as for other functions, e.g. strcmp(3).