]> granicus.if.org Git - python/commitdiff
Fix refcounting.
authorThomas Heller <theller@ctypes.org>
Tue, 18 Apr 2006 14:57:39 +0000 (14:57 +0000)
committerThomas Heller <theller@ctypes.org>
Tue, 18 Apr 2006 14:57:39 +0000 (14:57 +0000)
This makes 'import ctypes; reload(ctypes)' no longer leak reference counts.

Modules/_ctypes/_ctypes.c

index d751841095cbda6746959861b5d6b2e689be9550..3f2e7a0f9ed684e59f6e23af84d438e78cfca2b7 100644 (file)
@@ -1283,6 +1283,7 @@ static PyObject *CreateSwappedType(PyTypeObject *type, PyObject *args, PyObject
                suffix = PyString_FromString("_be");
 #endif
 
+       Py_INCREF(name);
        PyString_Concat(&name, suffix);
        if (name == NULL)
                return NULL;
@@ -1459,6 +1460,7 @@ SimpleType_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
                PyObject_SetAttrString(swapped, "__ctype_le__", (PyObject *)result);
                PyObject_SetAttrString(swapped, "__ctype_be__", swapped);
 #endif
+               Py_DECREF(swapped);
        };
 
        return (PyObject *)result;