From a1e9ec4e5515ef60cd1468832e98ba77c9ce29cb Mon Sep 17 00:00:00 2001 From: Amaury Forgeot d'Arc Date: Thu, 15 Nov 2007 19:16:08 +0000 Subject: Correct a memory leak: the range() object was not properly freed. --- Objects/object.c | 3 +++ Objects/rangeobject.c | 1 + 2 files changed, 4 insertions(+) diff --git a/Objects/object.c b/Objects/object.c index df93a19..fa5eb4d 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -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'"); } diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c index 3a08ccd..e159feb 100644 --- a/Objects/rangeobject.c +++ b/Objects/rangeobject.c @@ -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 -- cgit v0.12