summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Objects/object.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Objects/object.c b/Objects/object.c
index e7ec7aec49..589bf365e8 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -1044,8 +1044,10 @@ PyObject_SetAttr(PyObject *v, PyObject *name, PyObject *value)
}
if (tp->tp_setattr != NULL) {
const char *name_str = PyUnicode_AsUTF8(name);
- if (name_str == NULL)
+ if (name_str == NULL) {
+ Py_DECREF(name);
return -1;
+ }
err = (*tp->tp_setattr)(v, (char *)name_str, value);
Py_DECREF(name);
return err;