summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Objects/classobject.c5
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);