]> granicus.if.org Git - python/commitdiff
Correct a memory leak: the range() object was not properly freed.
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>
Thu, 15 Nov 2007 19:16:08 +0000 (19:16 +0000)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>
Thu, 15 Nov 2007 19:16:08 +0000 (19:16 +0000)
Objects/object.c
Objects/rangeobject.c

index df93a192d6078ee39e7558a2d2ed38e87d6c72d8..fa5eb4d11ba90ac53385d631b600e3bae5854f8f 100644 (file)
@@ -1509,6 +1509,9 @@ _Py_ReadyTypes(void)
 
        if (PyType_Ready(&PyStdPrinter_Type) < 0)
                Py_FatalError("Can't initialize StdPrinter");
+
+       if (PyType_Ready(&PyRange_Type) < 0)
+               Py_FatalError("Can't initialize 'range'");
 }
 
 
index 3a08ccd0f8e70e618c12306330d059bf0796ada3..e159febdac1f3525743f76375e3bc6157843bcb7 100644 (file)
@@ -107,6 +107,7 @@ range_dealloc(rangeobject *r)
     Py_DECREF(r->start);
     Py_DECREF(r->stop);
     Py_DECREF(r->step);
+    Py_Type(r)->tp_free(r);
 }
 
 /* Return number of items in range (lo, hi, step), when arguments are