ws2_32: sendmsg on OS/X and BSD returns EMSGSIZE error for size 0
Aric Stewart
aric at codeweavers.com
Fri Mar 4 11:08:32 CST 2011
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<aric at 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.
>
More information about the wine-devel
mailing list