From 8a9463f2d4044506910e26a8ed42e2bc9fc3e0f8 Mon Sep 17 00:00:00 2001 From: Dong-hee Na Date: Thu, 22 Oct 2020 18:44:18 +0900 Subject: _testmultiphase: Fix possible ref leak (GH-22881) This is just test code, but sometimes external contributors reference the code snippets from test code. `PyModule_AddObject` should be handled in the proper way. https://docs.python.org/3/c-api/module.html#c.PyModule_AddObject --- Modules/_testmultiphase.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Modules/_testmultiphase.c b/Modules/_testmultiphase.c index d69ae62..8bba077 100644 --- a/Modules/_testmultiphase.c +++ b/Modules/_testmultiphase.c @@ -359,6 +359,7 @@ static int execfunc(PyObject *m) goto fail; } if (PyModule_AddObject(m, "Example", temp) != 0) { + Py_DECREF(temp); goto fail; } @@ -369,6 +370,7 @@ static int execfunc(PyObject *m) goto fail; } if (PyModule_AddObject(m, "error", temp) != 0) { + Py_DECREF(temp); goto fail; } @@ -378,6 +380,7 @@ static int execfunc(PyObject *m) goto fail; } if (PyModule_AddObject(m, "Str", temp) != 0) { + Py_DECREF(temp); goto fail; } @@ -807,6 +810,7 @@ meth_state_access_exec(PyObject *m) return -1; } if (PyModule_AddObject(m, "StateAccessType", temp) != 0) { + Py_DECREF(temp); return -1; } -- cgit v0.12