Kaydet (Commit) 24f67d56 authored tarafından Guido van Rossum's avatar Guido van Rossum

Fix a leak in instance_coerce(). This was introduced by Neil's

earlier coercion changes, not by rich comparisons.  When a coercion
function returns 1 (meaning it cannot do it), it should not INCREF the
arguments.  When no __coerce__() method was found, instance_coerce()
originally returned 0, pretending it did it.  Neil changed the return
value to 1, more accurately reflecting that it didn't do anything, but
forgot to take out the two INCREF calls.
üst 97c9640c
......@@ -1289,8 +1289,6 @@ instance_coerce(PyObject **pv, PyObject **pw)
if (coercefunc == NULL) {
/* No __coerce__ method */
PyErr_Clear();
Py_INCREF(v);
Py_INCREF(w);
return 1;
}
/* Has __coerce__ method: call it */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment