Berkeley description: The system detected an invalid
address in attempting to use an argument of a call.
WinSock description: Same as Berkeley, and then some.
Specifically, v1.1 WinSock spec notes that this error occurs if the
length of the buffer is too small. For instance, if the length of a
struct sockaddr is not equivalent to the sizeof(struct sockaddr).
However, it also occurs when an application passes an invalid pointer
Developer suggestions: Always check the return value
from a memory allocation to be sure it succeeded. Always be sure to
allocate enough space.