diff options
author | Victor Stinner <vstinner@python.org> | 2020-11-18 14:57:10 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-18 14:57:10 (GMT) |
commit | d1e38d4023aa29e7ed64d4f8eb9c1e4a3c86a2e5 (patch) | |
tree | cbeb8dae434536963656a24fdebfddc0348617bb | |
parent | 8fba9523cf08029dc2e280d9f48fdd57ab178c9d (diff) | |
download | cpython-d1e38d4023aa29e7ed64d4f8eb9c1e4a3c86a2e5.zip cpython-d1e38d4023aa29e7ed64d4f8eb9c1e4a3c86a2e5.tar.gz cpython-d1e38d4023aa29e7ed64d4f8eb9c1e4a3c86a2e5.tar.bz2 |
bpo-40998: Fix a refleak in create_filter() (GH-23365)
-rw-r--r-- | Python/_warnings.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Python/_warnings.c b/Python/_warnings.c index 8d33fbe..313420c 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -69,12 +69,14 @@ create_filter(PyObject *category, _Py_Identifier *id, const char *modname) return NULL; } } else { - modname_obj = Py_None; + modname_obj = Py_NewRef(Py_None); } /* This assumes the line number is zero for now. */ - return PyTuple_Pack(5, action_str, Py_None, - category, modname_obj, _PyLong_GetZero()); + PyObject *filter = PyTuple_Pack(5, action_str, Py_None, + category, modname_obj, _PyLong_GetZero()); + Py_DECREF(modname_obj); + return filter; } #endif |