diff options
-rw-r--r-- | Objects/classobject.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Objects/classobject.c b/Objects/classobject.c index f698cc3..ff6f11e 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -1357,6 +1357,7 @@ half_binop(PyObject *v, PyObject *w, char *opname, binaryfunc thisfunc, args = Py_BuildValue("(O)", w); if (args == NULL) { + Py_DECREF(coercefunc); return NULL; } coerced = PyEval_CallObject(coercefunc, args); @@ -1553,8 +1554,10 @@ half_cmp(PyObject *v, PyObject *w) } args = Py_BuildValue("(O)", w); - if (args == NULL) + if (args == NULL) { + Py_DECREF(cmp_func); return -2; + } result = PyEval_CallObject(cmp_func, args); Py_DECREF(args); |