From: Amaury Forgeot d'Arc Date: Thu, 15 Nov 2007 19:16:08 +0000 (+0000) Subject: Correct a memory leak: the range() object was not properly freed. X-Git-Tag: v3.0a2~184 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1e9ec4e5515ef60cd1468832e98ba77c9ce29cb;p=python Correct a memory leak: the range() object was not properly freed. --- diff --git a/Objects/object.c b/Objects/object.c index df93a192d6..fa5eb4d11b 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 3a08ccd0f8..e159febdac 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