I don't have a Windows machine to check, but I noticed while reading code that the `_overlapped.WSAConnect()` function calls `PyTuple_GET_SIZE` on its argument without checking that it is actually a tuple (https://github.com/python/cpython/blob/3e07f827b359617664ad0880f218f17ae4483299/Modules/overlapped.c#L1358). The following code should reproduce the problem and access out-of-bounds memory: ```python import asyncio.windows_events import socket ip = asyncio.windows_events.IocpProactor() sock = socket.socket(type=socket.SOCK_DGRAM) ip.connect(sock, None) ``` <!-- gh-pr-number: gh-98889 --> * PR: gh-98889 <!-- /gh-pr-number --> <!-- gh-pr-number: gh-98890 --> * PR: gh-98890 <!-- /gh-pr-number --> <!-- gh-pr-number: gh-140825 --> * PR: gh-140825 <!-- /gh-pr-number -->