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 Stewartaric@codeweavers.com 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.