ws2_32: Cope with NULL address in connect() call.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5a06b6b035
commit
dcf258685e
|
@ -1731,14 +1731,17 @@ static inline BOOL supported_protocol(int protocol)
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
||||||
/* Returns the length of the converted address if successful, 0 if it was too small to
|
/* Returns the length of the converted address if successful, 0 if it was too
|
||||||
* start with.
|
* small to start with or unknown family or invalid address buffer.
|
||||||
*/
|
*/
|
||||||
static unsigned int ws_sockaddr_ws2u(const struct WS_sockaddr* wsaddr, int wsaddrlen,
|
static unsigned int ws_sockaddr_ws2u(const struct WS_sockaddr* wsaddr, int wsaddrlen,
|
||||||
union generic_unix_sockaddr *uaddr)
|
union generic_unix_sockaddr *uaddr)
|
||||||
{
|
{
|
||||||
unsigned int uaddrlen = 0;
|
unsigned int uaddrlen = 0;
|
||||||
|
|
||||||
|
if (!wsaddr)
|
||||||
|
return 0;
|
||||||
|
|
||||||
switch (wsaddr->sa_family)
|
switch (wsaddr->sa_family)
|
||||||
{
|
{
|
||||||
#ifdef HAS_IPX
|
#ifdef HAS_IPX
|
||||||
|
|
|
@ -5841,6 +5841,11 @@ static void test_events(int useMessages)
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
ret = connect(src, NULL, 0);
|
||||||
|
ok(ret == SOCKET_ERROR, "expected -1, got %d\n", ret);
|
||||||
|
ok(GetLastError() == WSAEFAULT, "expected 10014, got %d\n", GetLastError());
|
||||||
|
|
||||||
ret = connect(src, (struct sockaddr*)&addr, sizeof(addr));
|
ret = connect(src, (struct sockaddr*)&addr, sizeof(addr));
|
||||||
if (ret == SOCKET_ERROR && WSAGetLastError() != WSAEWOULDBLOCK)
|
if (ret == SOCKET_ERROR && WSAGetLastError() != WSAEWOULDBLOCK)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue