From a234e148394c2c7419372ab65b773d53a57f3625 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 8 Jan 2019 14:23:09 +0100 Subject: bpo-32710: Fix leak in Overlapped_WSASend() (GH-11469) Fix a memory leak in asyncio in the ProactorEventLoop when ReadFile() or WSASend() overlapped operation fail immediately: release the internal buffer. --- Modules/overlapped.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Modules/overlapped.c') diff --git a/Modules/overlapped.c b/Modules/overlapped.c index 69875a7f37..bbaa4fb300 100644 --- a/Modules/overlapped.c +++ b/Modules/overlapped.c @@ -723,6 +723,7 @@ do_ReadFile(OverlappedObject *self, HANDLE handle, case ERROR_IO_PENDING: Py_RETURN_NONE; default: + PyBuffer_Release(&self->user_buffer); self->type = TYPE_NOT_STARTED; return SetFromWindowsErr(err); } @@ -1011,6 +1012,7 @@ Overlapped_WSASend(OverlappedObject *self, PyObject *args) case ERROR_IO_PENDING: Py_RETURN_NONE; default: + PyBuffer_Release(&self->user_buffer); self->type = TYPE_NOT_STARTED; return SetFromWindowsErr(err); } -- cgit v1.2.1