Correct a memory leak: the range() object was not properly freed.
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 @@
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 @@
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