]> granicus.if.org Git - python/commitdiff
add missing decrefs
authorBenjamin Peterson <benjamin@python.org>
Sat, 3 Apr 2010 23:56:48 +0000 (23:56 +0000)
committerBenjamin Peterson <benjamin@python.org>
Sat, 3 Apr 2010 23:56:48 +0000 (23:56 +0000)
Modules/_struct.c

index e21487d05c691657b9e5707d04c7eeb609d59882..d000df20514f1050c858ff8a6c7009e87acebfca 100644 (file)
@@ -158,6 +158,7 @@ get_ulong(PyObject *v, unsigned long *p)
                return -1;
        assert(PyLong_Check(v));
        x = PyLong_AsUnsignedLong(v);
+        Py_DECREF(v);
        if (x == (unsigned long)-1 && PyErr_Occurred()) {
                if (PyErr_ExceptionMatches(PyExc_OverflowError))
                        PyErr_SetString(StructError,
@@ -182,6 +183,7 @@ get_longlong(PyObject *v, PY_LONG_LONG *p)
                return -1;
        assert(PyLong_Check(v));
        x = PyLong_AsLongLong(v);
+        Py_DECREF(v);
        if (x == (PY_LONG_LONG)-1 && PyErr_Occurred()) {
                if (PyErr_ExceptionMatches(PyExc_OverflowError))
                        PyErr_SetString(StructError,
@@ -204,6 +206,7 @@ get_ulonglong(PyObject *v, unsigned PY_LONG_LONG *p)
                return -1;
        assert(PyLong_Check(v));
        x = PyLong_AsUnsignedLongLong(v);
+        Py_DECREF(v);
        if (x == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred()) {
                if (PyErr_ExceptionMatches(PyExc_OverflowError))
                        PyErr_SetString(StructError,