Looks like WS2_ConnectEx is at fault.
It is being called with a sendBuf of NULL which results in n_iovecs and
first_iovec being set to 0 resulting in a len of 0.
I see no evidence of checking for this case along that codepath.
-aric
On 3/4/11 10:47 AM, Alexandre Julliard wrote:
Aric Stewart<[email protected]> writes:
@@ -1781,6 +1781,9 @@ static int WS2_send( int fd, struct ws2_async *wsa )
wsa->iovec[wsa->first_iovec].iov_len -= n;
}
}
+ /* BSD and OS/X return EMSGSIZE if hdr.msg_iovlen is 0 */
+ else if ( hdr.msg_iovlen == 0&& errno == EMSGSIZE)
+ ret = 0;
This should never happen. We should always have at least one iov at that
point, the callers should make sure of that.