ws2_32: Set return size when calling WSAIoctl with WS_SIO_GET_EXTENSION_FUNCTION_POINTER.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Kimmo Myllyvirta 2017-07-12 03:17:18 +00:00 committed by Alexandre Julliard
parent a324786b9e
commit 32334704e8
2 changed files with 4 additions and 0 deletions

View File

@ -4907,6 +4907,7 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID
{ {
TRACE("-> got %s\n", guid_funcs[i].name); TRACE("-> got %s\n", guid_funcs[i].name);
*(void **)out_buff = guid_funcs[i].func_ptr; *(void **)out_buff = guid_funcs[i].func_ptr;
total = sizeof(void *);
break; break;
} }

View File

@ -7677,6 +7677,7 @@ static void test_ConnectEx(void)
goto end; goto end;
} }
bytesReturned = 0xdeadbeef;
iret = WSAIoctl(connector, SIO_GET_EXTENSION_FUNCTION_POINTER, &connectExGuid, sizeof(connectExGuid), iret = WSAIoctl(connector, SIO_GET_EXTENSION_FUNCTION_POINTER, &connectExGuid, sizeof(connectExGuid),
&pConnectEx, sizeof(pConnectEx), &bytesReturned, NULL, NULL); &pConnectEx, sizeof(pConnectEx), &bytesReturned, NULL, NULL);
if (iret) { if (iret) {
@ -7684,6 +7685,8 @@ static void test_ConnectEx(void)
goto end; goto end;
} }
ok(bytesReturned == sizeof(pConnectEx), "expected sizeof(pConnectEx), got %u\n", bytesReturned);
bret = pConnectEx(INVALID_SOCKET, (struct sockaddr*)&address, addrlen, NULL, 0, &bytesReturned, &overlapped); bret = pConnectEx(INVALID_SOCKET, (struct sockaddr*)&address, addrlen, NULL, 0, &bytesReturned, &overlapped);
ok(bret == FALSE && WSAGetLastError() == WSAENOTSOCK, "ConnectEx on invalid socket " ok(bret == FALSE && WSAGetLastError() == WSAENOTSOCK, "ConnectEx on invalid socket "
"returned %d + errno %d\n", bret, WSAGetLastError()); "returned %d + errno %d\n", bret, WSAGetLastError());