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