From 35bf8ea7bef7151a420a67638e88d6a1fd81d1a0 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Wed, 18 Nov 2020 18:45:29 +0100 Subject: [3.9] bpo-40998: Fix a refleak in create_filter() (GH-23365) (GH-23369) (cherry picked from commit d1e38d4023aa29e7ed64d4f8eb9c1e4a3c86a2e5) --- Python/_warnings.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Python/_warnings.c b/Python/_warnings.c index 4d65bb3..91a78fe 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -69,11 +69,14 @@ create_filter(PyObject *category, _Py_Identifier *id, const char *modname) } } else { modname_obj = Py_None; + Py_INCREF(modname_obj); } /* This assumes the line number is zero for now. */ - return PyTuple_Pack(5, action_str, Py_None, - category, modname_obj, _PyLong_Zero); + PyObject *filter = PyTuple_Pack(5, action_str, Py_None, + category, modname_obj, _PyLong_Zero); + Py_DECREF(modname_obj); + return filter; } #endif -- cgit v0.12