From 15c349ec0fc2f9d2891b005302fff0dfa4b644c7 Mon Sep 17 00:00:00 2001 From: Stefan Behnel <stefan_ml@behnel.de> Date: Fri, 1 Nov 2013 11:30:45 +0100 Subject: [PATCH] fix ref-leak during Py2-style class instantiation --- Cython/Utility/ObjectHandling.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Cython/Utility/ObjectHandling.c b/Cython/Utility/ObjectHandling.c index c9c7638e4..3bceca2a4 100644 --- a/Cython/Utility/ObjectHandling.c +++ b/Cython/Utility/ObjectHandling.c @@ -668,9 +668,11 @@ static PyObject *__Pyx_FindPy2Metaclass(PyObject *bases) { if (!metaclass) { PyErr_Clear(); metaclass = (PyObject*) Py_TYPE(base); + Py_INCREF(metaclass); } } else { metaclass = (PyObject *) &PyClass_Type; + Py_INCREF(metaclass); } #else if (PyTuple_Check(bases) && PyTuple_GET_SIZE(bases) > 0) { @@ -679,8 +681,8 @@ static PyObject *__Pyx_FindPy2Metaclass(PyObject *bases) { } else { metaclass = (PyObject *) &PyType_Type; } -#endif Py_INCREF(metaclass); +#endif return metaclass; } -- 2.30.9