Checks ensure that the incoming sockaddr length field is not too
short but don't protect against it being too long - in which case,
the local family-specific sockaddr will be overflowed.
Implement stricter checks for AF_INET and AF_INET6 sockaddr's:
- If the incoming length is too short, it will just report that the sockaddr is invalid.
- If the incoming length is too short, it will decode the address and port and also print that it's too long. (The kernel also reports EINVAL in this case).
For AF_UNIX sockaddrs, directly print from the original sockaddr,
rather than copying it. Since sa_len has already been validated,
there's no need for additional validation.