From 61ce0a9bae6e97f25034370eda2fe87ef654e434 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Fri, 6 Dec 2002 23:38:02 +0000 Subject: slot_tp_hash(): In the normal path, this leaked a reference to the integer hash object returned by __hash__(). This accounts for some of the "mystery leaks" in the sandbox datetime tests, but probably not all of them. --- Objects/typeobject.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 4cfbd49..6129442 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -3941,19 +3941,19 @@ slot_tp_str(PyObject *self) static long slot_tp_hash(PyObject *self) { - PyObject *func, *res; + PyObject *func; static PyObject *hash_str, *eq_str, *cmp_str; - long h; func = lookup_method(self, "__hash__", &hash_str); if (func != NULL) { - res = PyEval_CallObject(func, NULL); + PyObject *res = PyEval_CallObject(func, NULL); Py_DECREF(func); if (res == NULL) return -1; h = PyInt_AsLong(res); + Py_DECREF(res); } else { PyErr_Clear(); -- cgit v0.12