Zebediah Figura (@zfigura) commented about dlls/ws2_32/tests/sock.c:
+ server = accept(listener, NULL, NULL); + ok(server != INVALID_SOCKET, "Could not accept TCP socket connection: %lu\n", + GetLastError()); + ret = ioctlsocket(client, FIONBIO, &zero); + ok(!ret, "Could not set TCP socket to blocking: %lun", GetLastError()); + } + + // Fill the address with invalid data + for (int i = 0; i < sizeof(bad_addr); i++) + ((char *)&bad_addr)[i] = sizeof(bad_addr) - i; + memcpy(&bad_addr_copy, &bad_addr, sizeof(bad_addr_copy)); + + ret = sendto(server, serverMsg, sizeof(serverMsg), 0, (SOCKADDR *)&bad_addr, sizeof(bad_addr)); + ok(ret == sizeof(serverMsg), "Incorrect return value from sendto: %d (%d)\n", ret, WSAGetLastError()); + ret = recvfrom(client, clientBuf, sizeof(clientBuf), 0, (SOCKADDR *)&bad_addr, &to_len); + ok(!memcmp(&bad_addr, &bad_addr_copy, sizeof(bad_addr)), "Provided address modified by recvfrom\n"); Can you please also check to_len here?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3186#note_37240