From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sun, 28 Apr 2019 13:17:40 +0000 (-0700) Subject: bpo-36745: Fix a possible reference leak in PyObject_SetAttr() (GH-12993) X-Git-Tag: v3.7.4rc1~205 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=896c6357f3267fe5dc5a33979f8cf46b0a74cfee;p=thirdparty%2FPython%2Fcpython.git bpo-36745: Fix a possible reference leak in PyObject_SetAttr() (GH-12993) https://bugs.python.org/issue36745 (cherry picked from commit e0dcb85b7d64153d1741698c04a6736c9669603a) Co-authored-by: Zackery Spytz --- diff --git a/Objects/object.c b/Objects/object.c index 420af9465b5c..8a3f8831d6e9 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1017,8 +1017,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;