From 17d28f1646bc638f652428dd4e5f513c6944aacf Mon Sep 17 00:00:00 2001 From: Zackery Spytz Date: Tue, 26 Mar 2019 00:05:29 -0600 Subject: [PATCH] bpo-36430: Fix a possible reference leak in itertools.count(). (GH-12551) (cherry picked from commit 0523c39e7720b82b38ad793d3f1a5681adcdf873) Co-authored-by: Zackery Spytz --- .../Core and Builtins/2019-03-25-23-37-26.bpo-36430.sd9xxQ.rst | 1 + Modules/itertoolsmodule.c | 1 + 2 files changed, 2 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-03-25-23-37-26.bpo-36430.sd9xxQ.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-03-25-23-37-26.bpo-36430.sd9xxQ.rst b/Misc/NEWS.d/next/Core and Builtins/2019-03-25-23-37-26.bpo-36430.sd9xxQ.rst new file mode 100644 index 00000000000000..a65ee096efc4a2 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2019-03-25-23-37-26.bpo-36430.sd9xxQ.rst @@ -0,0 +1 @@ +Fix a possible reference leak in :func:`itertools.count`. diff --git a/Modules/itertoolsmodule.c b/Modules/itertoolsmodule.c index 1113fb6b76c03d..bff9df608304b6 100644 --- a/Modules/itertoolsmodule.c +++ b/Modules/itertoolsmodule.c @@ -4027,6 +4027,7 @@ count_new(PyTypeObject *type, PyObject *args, PyObject *kwds) lz = (countobject *)type->tp_alloc(type, 0); if (lz == NULL) { Py_XDECREF(long_cnt); + Py_DECREF(long_step); return NULL; } lz->cnt = cnt;