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?