Module: wine Branch: master Commit: 32334704e882eb225b4738a34d46c6407af12514 URL: http://source.winehq.org/git/wine.git/?a=commit;h=32334704e882eb225b4738a34d...
Author: Kimmo Myllyvirta kimmo.myllyvirta@gmail.com Date: Wed Jul 12 03:17:18 2017 +0000
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
---
dlls/ws2_32/socket.c | 1 + dlls/ws2_32/tests/sock.c | 3 +++ 2 files changed, 4 insertions(+)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index f212ec2..3f4691f 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -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); *(void **)out_buff = guid_funcs[i].func_ptr; + total = sizeof(void *); break; }
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index efe10b3..e975ea4 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -7677,6 +7677,7 @@ static void test_ConnectEx(void) goto end; }
+ bytesReturned = 0xdeadbeef; iret = WSAIoctl(connector, SIO_GET_EXTENSION_FUNCTION_POINTER, &connectExGuid, sizeof(connectExGuid), &pConnectEx, sizeof(pConnectEx), &bytesReturned, NULL, NULL); if (iret) { @@ -7684,6 +7685,8 @@ static void test_ConnectEx(void) 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); ok(bret == FALSE && WSAGetLastError() == WSAENOTSOCK, "ConnectEx on invalid socket " "returned %d + errno %d\n", bret, WSAGetLastError());