diff --git a/Misc/ACKS b/Misc/ACKS index 84dad680b72..0d1a77b7d94 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -828,6 +828,7 @@ Mark Russell Nick Russo Patrick Sabin Sébastien Sablé +Suman Saha Hajime Saitou George Sakkis Rich Salz diff --git a/Misc/NEWS b/Misc/NEWS index 3c2ef373641..b5e5b15efc7 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -1295,6 +1295,9 @@ Tools/Demos Extension Modules ----------------- +- Issue #13013: ctypes: Fix a reference leak in PyCArrayType_from_ctype. + Thanks to Suman Saha for finding the bug and providing a patch. + - Issue #13022: Fix: _multiprocessing.recvfd() doesn't check that file descriptor was actually received. diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 0c6f542ee18..3df26dab442 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -4474,6 +4474,7 @@ PyCArrayType_from_ctype(PyObject *itemtype, Py_ssize_t length) if (!PyType_Check(itemtype)) { PyErr_SetString(PyExc_TypeError, "Expected a type object"); + Py_DECREF(key); return NULL; } #ifdef MS_WIN64