From 18a90248fdd92b27098cc4db773686a2d10a4d24 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 3 Jun 2020 14:36:46 +0200 Subject: [PATCH] bpo-32604: Fix reference leak in select module (GH-20600) Fix reference leak in PyInit_select() of the select module: remove Py_INCREF(poll_Type). --- .../next/Library/2020-06-02-23-49-07.bpo-32604.ZN4V4l.rst | 2 ++ Modules/selectmodule.c | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2020-06-02-23-49-07.bpo-32604.ZN4V4l.rst diff --git a/Misc/NEWS.d/next/Library/2020-06-02-23-49-07.bpo-32604.ZN4V4l.rst b/Misc/NEWS.d/next/Library/2020-06-02-23-49-07.bpo-32604.ZN4V4l.rst new file mode 100644 index 00000000000..6375276602e --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-06-02-23-49-07.bpo-32604.ZN4V4l.rst @@ -0,0 +1,2 @@ +Fix reference leak in the :mod:`select` module when the the module is +imported in a subinterpreter. diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c index 04e0067eec2..adf014fac43 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -2482,7 +2482,6 @@ PyInit_select(void) if (poll_Type == NULL) return NULL; get_select_state(m)->poll_Type = (PyTypeObject *)poll_Type; - Py_INCREF(poll_Type); PyModule_AddIntMacro(m, POLLIN); PyModule_AddIntMacro(m, POLLPRI); @@ -2518,7 +2517,6 @@ PyInit_select(void) if (devpoll_Type == NULL) return NULL; get_select_state(m)->devpoll_Type = (PyTypeObject *)devpoll_Type; - Py_INCREF(devpoll_Type); #endif #ifdef HAVE_EPOLL