merge 3.2 (#14752)
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 9babd57..309191e 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -3709,6 +3709,7 @@
for (; meth->ml_name != NULL; meth++) {
PyObject *descr;
+ int err;
if (PyDict_GetItemString(dict, meth->ml_name) &&
!(meth->ml_flags & METH_COEXIST))
continue;
@@ -3732,9 +3733,10 @@
}
if (descr == NULL)
return -1;
- if (PyDict_SetItemString(dict, meth->ml_name, descr) < 0)
- return -1;
+ err = PyDict_SetItemString(dict, meth->ml_name, descr);
Py_DECREF(descr);
+ if (err < 0)
+ return -1;
}
return 0;
}